Upserting avec l'ORM éloquent de Laravel
Dans le mappage objet-relationnel (ORM) éloquent de Laravel, il est souvent nécessaire de créer un nouvel enregistrement s'il n'existe pas, ou mettre à jour un enregistrement existant si c'est le cas.
Qu'est-ce que l'Upserting ?
L'Upserting est un terme utilisé pour décrire la combinaison d'opérations d'insertion et de mise à jour. en une seule commande. Dans le contexte d'une base de données, l'upserting vous permet d'effectuer une opération d'insertion ou de mise à jour selon qu'un enregistrement avec des critères spécifiques existe ou non dans la table.
Effectuer des opérations d'upsert
Dans Laravel Eloquent, l'insertion peut être réalisée en utilisant la méthode firstOrNew. Cette méthode prend un tableau de critères comme argument et renvoie soit un modèle existant si un enregistrement correspondant aux critères est trouvé, soit une nouvelle instance de modèle si aucun enregistrement correspondant n'existe.
Exemple : insertion d'un utilisateur Enregistrer
Considérez un scénario dans lequel vous souhaitez créer un nouvel utilisateur s'il n'en existe pas, ou mettre à jour un utilisateur existant s'il en existe un. Voici un exemple :
<code class="php">$user = User::firstOrNew(array('name' => Input::get('name'))); $user->foo = Input::get('foo'); $user->save();</code>
Dans cet exemple, la méthode firstOrNew vérifie si un utilisateur avec le nom spécifié existe déjà dans la base de données. S'il existe, le modèle existant est renvoyé. Sinon, une nouvelle instance de modèle est créée et renvoyée.
Lien de documentation mis à jour :
Pour les dernières informations sur l'insertion dans Laravel, reportez-vous à la documentation officielle ici : [ Lien Docs mis à 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!