createメソッドを孫テーブルまでリレーションさせたいです。
親テーブル:store
子テーブル:staffs
孫テーブル:staffLogs
のテーブルを作成してあります。
(それぞれ、1対1関係や1対多関係は構築ずみです。)
親テーブルであるstoreのid:3を受け、子テーブルであるstaffsテーブルにcreateメソッドを実行しました。
新しくstaffsテーブルに作られた配列のidを受けて、孫テーブルであるstaffLogsテーブルでもcreateメソッドを実行したいのですが、やりかたがわかりません。
public function handle() { $now = Carbon::now(); $store = Store::find(3); $store->staffs()->create([ 'staff_type' => 1, 'created_at' => $now, ]); // 上記の操作で、createしたstaffsテーブルを、孫テーブルであるstaffLogsテーブルにリレーションさせて // 、createをしたいです。(以下の操作は無効な物ですが、質問のため、便宜上書いた物です。) $store->staffs()->staffLogs()->create([ 'comment' => 'new staff', ]); } }
staffsテーブルに作られた配列のidを受けて、孫テーブルであるstaffLogsテーブルでもcreateメソッドを実行する方法について、アドバイスいただけたらと幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/06 06:21