2016-05-27 64 views
-4

私のアプリケーションでは、同じ基本構造(自動生成テーブル)を持つ複数のテーブルがあります。たとえば、テーブルsurvey_1survey_2、およびsurvey_23があります。次のようなモデルを作成することが可能ですか:テーブルのモデルを生成するのはですか?Laravelモデルの動的テーブル名

+4

あなたは間違っています。すべてのデータを1つのテーブルに入れ、列を追加してデータを論理的に分割します。 – Pyton

+0

いいえ、すべての列が特定の質問タイプ用であり、すべての行が調査を記入する人の回答用である調査テーブルを作成しているので、複数のテーブルが必要です。私の仕事は、データベース構造を変更できないように、このように構築することです。 –

+2

@BartBergmans各調査で新しいテーブルを必要としない方法を扱う方法があります。 – ceejayoz

答えて

0

と思います。

$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メソッドをオーバーライドするようにしてください私はそれが仕事をしたりしませんかわかりません。
しかし、別のテーブルであなたのアプローチを使用しないことを強くお勧めします。

関連する問題