Qualcuno può aiutarmi su come salvare la relazione molti a molti? Ho attività, l'utente può avere molte attività e l'attività può avere molti utenti (molti a molti). Quello che voglio ottenere è che nel modulo di aggiornamento l' amministratore può assegnare più utenti a un'attività specifica. Questo viene fatto tramite input di selezione multipla html
name="taskParticipants[]"
Il problema qui è che attraverso lo stesso modulo (input) puoi aggiungere / rimuovere utenti, ecco perché devo usare sync (). Forse dovrei cominciare dall'inizio ma non so da dove cominciare ...
Questo è il mio modello utente:
public function tasks()
{
return $this->belongsToMany('Task','user_tasks');
}
Modello di attività
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));
}
}
}
Questa è la struttura delle attività delle tabelle id | titolo | scadenza
user_tasks
id|task_id|user_id