-4
私のアプリケーションでは、同じ基本構造(自動生成テーブル)を持つ複数のテーブルがあります。たとえば、テーブルsurvey_1
、survey_2
、およびsurvey_23
があります。次のようなモデルを作成することが可能ですか:テーブルのモデルを生成するのはですか?Laravelモデルの動的テーブル名
私のアプリケーションでは、同じ基本構造(自動生成テーブル)を持つ複数のテーブルがあります。たとえば、テーブルsurvey_1
、survey_2
、およびsurvey_23
があります。次のようなモデルを作成することが可能ですか:テーブルのモデルを生成するのはですか?Laravelモデルの動的テーブル名
と思います。
$survey_1 = new Survey(['table' => 'survey_1']);
$survey_2 = new Survey(['table' => 'survey_2']);
$survey_3 = new Survey(['table' => 'survey_3']);
、あなたのモデルに
class Survey extends Model
{
public function __construct(array $attributes = [])
{
parent::construct($attributes);
if (array_key_exists('table', $attributes)) {
$this->setTable($attributes['table']) ;
}
else {
// do staff when table is not specified
}
}
}
を__constructor
メソッドをオーバーライドするようにしてください私はそれが仕事をしたりしませんかわかりません。
しかし、別のテーブルであなたのアプローチを使用しないことを強くお勧めします。
あなたは間違っています。すべてのデータを1つのテーブルに入れ、列を追加してデータを論理的に分割します。 – Pyton
いいえ、すべての列が特定の質問タイプ用であり、すべての行が調査を記入する人の回答用である調査テーブルを作成しているので、複数のテーブルが必要です。私の仕事は、データベース構造を変更できないように、このように構築することです。 –
@BartBergmans各調査で新しいテーブルを必要としない方法を扱う方法があります。 – ceejayoz