Laravel 4: comment mettre à jour plusieurs champs dans un Éloquent modèle?

Comment puis-je mettre à jour plusieurs champs dans un Éloquent modèle? Disons que je l'ai eu comme ceci:

$user = User::where("username", "=", "rok");

Et puis j'ai tous ces paramètres de modèle:

$new_user_data = array("email" => "[email protected]", "is_superuser" => 1, ...);

Je ne peux pas juste faire:

$user->update($new_user_data);

Quelle est la bonne manière? Je n'espère pas un foreach.

Le code suivant fonctionne, cependant. Est-ce la voie à suivre?

User::where("id", "=", $user->id)->update($new_user_data);

Le problème avec le dernier (en plus d'être maladroit), c'est que lors de l'utilisation d'un objet, contexte, la mise à jour des champs ne sont pas visibles dans la $this variable.

  • Oui, je pense que lors de la mise à jour de plusieurs colonnes, la update() fonction ne fonctionne que lors de l'actualisation du Modèle directement. Sinon, vous devez utiliser fill() et save().
InformationsquelleAutor duality_ | 2013-02-14