Maison > développement back-end > tutoriel php > Comment vérifier si un modèle associé existe dans Laravel ?

Comment vérifier si un modèle associé existe dans Laravel ?

Susan Sarandon
Libérer: 2024-11-05 14:12:02
original
674 Les gens l'ont consulté

How to Check if a Related Model Exists in Laravel?

Vérification de l'existence de modèles associés dans Laravel

Dans Laravel, les modèles Eloquent représentent des entités de base de données et fournissent des méthodes pratiques pour gérer les relations entre ces entités. Cependant, lorsque vous travaillez avec des relations, il peut être nécessaire de vérifier si un modèle associé existe avant d'effectuer d'autres opérations.

Considérez le code suivant :

<code class="php">public function option() {
    return $this->hasOne('RepairOption', 'repair_item_id');
}

public function setOptionArrayAttribute($values)
{
    $this->option->update($values);
}</code>
Copier après la connexion

Dans ce scénario, nous avons un modèle qui a une relation biunivoque avec un autre modèle. Lors de la création ou de la mise à jour de ce modèle, nous devons déterminer si le modèle associé existe pour décider de le mettre à jour ou de le créer.

Solution 1 (Laravel 7.2) :

Dans Laravel 7.2 et versions ultérieures, vous pouvez utiliser la méthode exist() sur l'objet relation pour vérifier si le modèle associé existe :

<code class="php">$model = RepairItem::find($id);
if (Input::has('option')) {
    if ($model->option()->exists()) {
        // Option exists, update it
    } else {
        // Option does not exist, create it
    }
}</code>
Copier après la connexion

Solution 2 (pré-Laravel 7.2) :

Dans les versions de Laravel antérieures à 7.2, vous pouvez utiliser la méthode count() sur l'objet relation pour vérifier si le modèle associé existe :

<code class="php">if (count($model->option)) {
    // Option exists
} else {
    // Option does not exist
}</code>
Copier après la connexion

Remarque : Cette méthode ne fonctionne que si la relation est une relation à valeur unique (par exemple, hasOne, appartientTo). Pour les relations plusieurs-à-plusieurs ou autres basées sur une collection, vous pouvez utiliser des méthodes telles que count() ou isNotEmpty() sur la collection de la relation pour vérifier si elle contient des modèles associés.

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!

source:php.cn
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