認証されたユーザーを関連モデルに追加する最良の方法は何ですか?
新しい投稿が作成されるたびに、認証されたユーザーを投稿モデルの作成者として追加したい場合、それを行う最良の方法は何ですか?
現在、私は仕事をする次のものを持っていますが、追加のクエリを実行します(つまり、1.投稿を作成します。2.投稿をauthor_idで更新します)。
public function store(Request $request)
{
$post = Post::create($request->all());
$post→author()->associate($request->user());
$post→save();
return new PostResource($post);
}
これを行うためのより良い方法があるはずです。すべての属性を で手動で追加して$post-author_id = $request→user()→id
から を呼び出すことを考えていました$post-save()
。ただし、投稿の他のすべての属性を手動で書き出さなければならないという考えは好きではありません。
私が考えていた別のオプションは、Post 作成イベントでイベント リスナーを作成することです。これにより、追加のクエリの必要性が減るかどうかはわかりません。
最も簡単な解決策は何ですか?