Montaggio/Smontaggio
Eloquent fornisce anche alcuni metodi di supporto aggiuntivi per rendere più conveniente il lavoro con i modelli correlati. Ad esempio, immaginiamo che un utente possa avere molti ruoli e che un ruolo possa avere molti utenti. Per collegare un ruolo a un utente inserendo un record della tabella intermedia che unisce i modelli, utilizzare il metodo attach:
$user = App\User::find(1);
$user->roles()->attach($roleId);
Quando si attacca una relazione a un modello, si può anche passare una matrice di dati aggiuntivi essere inserita nella tabella intermedia:
$user->roles()->attach($roleId, ['expires' => $expires]);
È inoltre possibile utilizzare la sincronizzazione se si desidera rimuovere i ruoli vecchi e mantenere solo quelli nuovi si collega ora
$user->roles()->sync([1 => ['expires' => $expires], 2 => ['expires' => $expires]);
Il comportamento predefinito può essere modificato passando un "falso" come secondo argomento . Collegherà i ruoli con ID 1,2,3 senza influire sui ruoli esistenti .
In questa modalità, la sincronizzazione si comporta in modo simile al metodo di collegamento.
$user->roles()->sync([1 => ['expires' => $expires], 2 => ['expires' => $expires], false);
Riferimento: https://laravel.com/docs/5.4/eloquent-relationships
La risposta qui sotto non ha tranquilla mi ha fatto attraverso .. per favore potete inviare le vostre soluzioni a questo? Grazie! – Evis