Come posso aggiornare più campi in un modello Eloquent? Diciamo che ho avuto in questo modo:Laravel 4: come aggiornare più campi in un modello Eloquent?
$user = User::where("username", "=", "rok");
E poi ho tutti questi parametri del modello:
$new_user_data = array("email" => "[email protected]", "is_superuser" => 1, ...);
Non posso fare:
$user->update($new_user_data);
Qual è il modo corretto? Spero non un foreach
.
Tuttavia, quanto segue funziona. È questa la strada da percorrere?
User::where("id", "=", $user->id)->update($new_user_data);
Il problema con l'ultimo (oltre essendo goffa) è che quando viene utilizzato da un contesto oggetto, i campi aggiornati non sono visibili nella variabile $this
.
Sì, penso che quando si aggiornano diverse colonne, il 'update()' funzione funziona solo quando si aggiorna direttamente il modello. Altrimenti, devi usare 'fill()' e 'save()'. – Pathros