谁能帮助我保存多对多关系?我有任务,用户可以有许多任务,任务可以有许多用户(很多),我要实现的是在更新表单中admin可以将多个用户分配给特定任务。这是通过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