¿Alguien puede ayudarme sobre cómo salvar la relación de muchos a muchos? Tengo tareas, el usuario puede tener muchas tareas y la tarea puede tener muchos usuarios (de muchos a muchos). Lo que quiero lograr es que en el formulario de actualización el administrador pueda asignar múltiples usuarios a una tarea específica. Esto se hace a través de la entrada de selección múltiple html
name="taskParticipants[]"
El problema aquí es que a través del mismo formulario (entrada) puede agregar / eliminar usuarios, por eso tengo que usar sync (). Tal vez debería empezar desde el principio pero no sé por dónde empezar ...
Este es mi modelo de usuario:
public function tasks()
{
return $this->belongsToMany('Task','user_tasks');
}
Modelo de tarea
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));
}
}
}
Esta es la estructura de las tablas id de tareas | título | fecha límite
user_tasks
id|task_id|user_id