多対多の関係を保存する方法について誰かが私を助けることができますか?私にはタスクがあり、ユーザーには多くのタスクがあり、タスクには多くのユーザー(多対多)があります。私が達成したいのは、更新フォームで管理者が複数のユーザーを特定のタスクに割り当てることができることです。これは、htmlの複数選択入力を介して行われます
name="taskParticipants[]"
ここでの落とし穴は、同じフォーム(入力)を介してユーザーを追加/削除できることです。そのため、sync()を使用する必要があります。たぶん私は最初から始めるべきですが、どこから始めればいいのかわかりません...
これは私のユーザーモデルです:
public function tasks()
{
return $this->belongsToMany('Task','user_tasks');
}
タスクモデル
public function taskParticipants()
{
return $this->belongsToMany('User','user_tasks');
}
TaskController
public function update($task_id)
{
if (Input::has('taskParticipants'))
{
foreach(Input::get('taskParticipants') as $worker)
{
$task2 = $task->taskParticipants->toArray();
$task2 = array_add($task2,$task_id,$worker);
$task->taskParticipants()->sync(array($task2));
}
}
}
これはテーブル タスクの構造ですid | title | deadline
user_tasks
id|task_id|user_id