누구나 다 대다 관계를 구하는 방법에 대해 나를 도울 수 있습니까? 나는 작업이 있고, 사용자는 많은 작업을 가질 수 있고 작업은 많은 사용자 (다 대다)를 가질 수 있습니다. 내가 달성하고 싶은 것은 업데이트 양식에서 관리자가 특정 작업에 여러 사용자를 할당 할 수 있다는 것입니다. 이것은 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