2016-12-18 7 views
0

は、基本的には、移行を経由して雄弁モデルのデフォルト値を定義することができるか、雄弁モデル内:移行またはEloquentモデルのデフォルト値を設定していますか?

protected $attributes = ['locale' => 'en']; 

$table->string('locale')->default('en'); 

が雄弁モデル内でデフォルト値を定義します。

は、移行の例では、デフォルト値を定義します。

これら2つのアプローチの長所と短所は何ですか?どちらが優れていますか(特定のユースケースの場合)?

答えて

1

移行を使用する場合は、移行でデフォルトを設定する必要があります。これの主な目的は、あなたと一緒にあなたのアプリを操作する可能性のある人がデータベース構造全体を見ることができるようにすることです。

実際には、この方法やモデルのやり方でプロやコンセプトがありません。あなたの構造を1か所に持たせることをお勧めします。あなたのモデルは軽くなければなりません。そこでは多くのことが起こる必要はありません。これらの異なるファイルすべてに変更を加えると、混乱することがあります。

これが優先されますが、これが唯一の目的であり、移行が存在する理由は、テーブル構造のために、移行を使用することをお勧めします。

関連する問題