をコントローラにビューからオブジェクトを渡しMy class/Object Userには、完了したタスクのリスト(タスクをUser_taskテーブルに追加する)にタスクを追加するaddToCompletedTasks(タスクタスク)関数があります。Laravelは、これら3つのテーブルを考えると、ベストプラクティスを探し
完了したタスクを自分のコントローラーに送信するためのベストプラクティスを探しています。 今私はIDを送信していますが、オブジェクトを送信することができるかどうか疑問に思っています。コントローラでタスクをインスタンス化して、完了したタスクリストに追加する必要はありません。
public function tasks(){
return $this->belongsToMany('Task');
}
そして、あなたのコントローラでこれを持っている:
public function insertCompletedTask(Request $request)
{
$task_id = $request->input('task_id');
$user = \Auth::user();
$task = Task::whereId($task_id)->first();
$update = $user->assignCompletedTask($task);
}
これはまさに私がやっていることですが、タスクオブジェクトをインスタンス化するための最良の方法であるかどうか、そしてデータベースをクエリする必要があるかどうかと、完了したリスト仕事。 パフォーマンス面では、レコードUser_taskにレコードを挿入する方が高速になります。 – Andrew
@Andrew完全なオブジェクトを最初にキャッチしたくない場合は、直接attachメソッドを実行できます。私の編集した答えを見てください:) – Roadirsh
私が探していたもの! idをattach関数に送るだけで、今はすべて意味があります:) 多くの感謝! – Andrew