Qualcuno sa se è possitble per fare il folowing:laravel: Eloquente come aggiornare un modello e modelli correlati in una volta
Diciamo che abbiamo un modello chiamato utente e un modello calledd BestFriend. La relazione tra l'utente e il migliore amico è 1: 1.
Vorrei che questi casi potessero fare qualcosa del genere, cambiare la mia città e la città del mio amico allo stesso tempo.
$me = User::find(1);
$me->update(array(
'city' => 'amsterdam',
'bestfriend.city' => 'amsterdam'
));
Quindi, in pratica vorrei sapere se Eloquente è abbastanza intelligente per capire il rapporto basato sulla chiave dell'array 'bestfriend.city'.
Grazie in anticipo per qualsiasi aiuto!
Aggiornamento:
trovato la soluzione sul forum laravel ma im postando qui così se qualcun altro sta cercando la stessa cosa :)
Nel modello si aggiunge
// In your model...
public function setBestFriendArrayAttribute($values)
{
$this->bestfriend->update($values);
}
E poi si può chiamare in questo modo
$me->update(array(
'city' => 'amsterdam',
'BestFriendArray' => array(
'city' => 'amsterdam'
)
));
Funziona come un fascino!
È possibile pubblicare l'aggiornamento come risposta alla domanda e accettarlo anziché come aggiornamento. – dimo414