Maison > Article > développement back-end > Comment insérer ou mettre à jour conditionnellement des enregistrements avec Laravel Eloquent ?
Création ou mise à jour d'enregistrements avec Laravel Eloquent
L'ORM Eloquent de Laravel fournit une méthode pratique pour insérer de nouveaux enregistrements ou mettre à jour des enregistrements existants. Cette méthode est particulièrement utile lorsque vous devez insérer ou mettre à jour conditionnellement un enregistrement selon qu'il existe déjà dans la base de données.
Une approche de cette tâche consiste à utiliser deux requêtes distinctes pour vérifier l'existence d'un enregistrement et puis insérez-le ou mettez-le à jour. Cependant, Laravel propose une solution plus concise et efficace en utilisant la méthode firstOrNew.
La méthode firstOrNew prend un tableau d'attributs en entrée. Si un enregistrement correspondant à ces attributs existe déjà dans la base de données, il sera récupéré et renvoyé. Sinon, une nouvelle instance du modèle sera créée.
Pour illustrer, considérons l'exemple suivant :
<code class="php">$user = User::firstOrNew(array('name' => Input::get('name')));</code>
Si un utilisateur avec le nom spécifié existe déjà, la variable $user sera référencer l’enregistrement existant. Sinon, une nouvelle instance du modèle User sera créée.
Une fois que vous avez une référence à l'enregistrement, vous pouvez mettre à jour ses attributs si nécessaire. Par exemple :
<code class="php">$user->foo = Input::get('foo');</code>
Enfin, vous pouvez enregistrer les modifications apportées à la base de données à l'aide de la méthode de sauvegarde :
<code class="php">$user->save();</code>
Cette approche fournit un moyen propre et simple d'insérer ou de mettre à jour des enregistrements dans Laravel. Cela élimine le besoin de plusieurs requêtes et garantit que l'enregistrement est toujours à jour.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!