Maison > développement back-end > tutoriel php > Comment insérer ou mettre à jour conditionnellement des enregistrements avec Laravel Eloquent ?

Comment insérer ou mettre à jour conditionnellement des enregistrements avec Laravel Eloquent ?

Susan Sarandon
Libérer: 2024-10-20 08:45:30
original
628 Les gens l'ont consulté

How to Conditionally Insert or Update Records with 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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal