Может ли кто-нибудь помочь мне в том, как сохранить многие отношения? У меня есть задачи, у пользователя может быть много задач, и задача может иметь много пользователей (многие из многих), чего я хочу достичь, так это то, что в форме обновления администратор может назначить нескольким пользователям конкретную задачу. Это делается через 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));
}
}
}
Это структура таблиц задания Идентификатор | название | срок
user_tasks
id|task_id|user_id