は、私のような注文を持つテーブルを持っている:laravel新しい列のデフォルト値のcreated_at値
注文
id
created_at
shipped_at
billed_at
shipped_atがinvoice.Theフィールドのパッキングリストとbilled_at上でshipped_atと最近billed_atが追加されました。
オーダーを作成するときに、オーダーが将来のものである場合、created_atの日付にカスタム日付を付けることがあります(これはcreated_atの背後にあるオリジナルのアイデアではありませんでした)。私が欲しいのは、created_atの値が作成時にshipped_atとbilled_atにコピーされるということです。なぜなら私は時にはcreated_atのカスタム値を使用するので、現在の日付時刻を使用することができないからです。
注文を作成する5つの場所から同じ関数を呼び出すのではなく、これらの値をコピーする関数を1つ作成するだけで、5つの異なる場所に注文を作成できます。
laravelフレームワークにcreated_atの値をshipped_atにコピーするための巧妙な場所がありますか?
思考: Normaly私は節約のようなイベントが最善だと思うだろうが、保存した後のcreated_atが作成され、それは/更新保存されたイベントに保存するか、これはのINFINITループを作成しますすることが可能です省エネ?新しいプロバイダを作成するには、コマンドライン
php artisan make:provider OrderDatesProvider
に
:aynberコメントへ
'created'イベントを使ってみましたか?それは作成後にトリガーするはずですが、「作成中」は実行中です。 – aynber