Maison >développement back-end >tutoriel php >Comment combiner des clauses WHERE avec OR et AND dans Laravel Eloquent ?

Comment combiner des clauses WHERE avec OR et AND dans Laravel Eloquent ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-24 11:32:18718parcourir

How to Combine WHERE Clauses with OR and AND in Laravel Eloquent?

Combinaison de clauses WHERE avec OR et AND dans Laravel Eloquent Query

Lors de la formulation de requêtes de base de données complexes, il est souvent nécessaire de combiner des clauses WHERE avec les deux Opérateurs OU et ET. Ceci peut être réalisé dans Laravel Eloquent en utilisant le regroupement logique.

Exemple :

Considérez la requête :

WHERE (a = 1 OR b =1 ) ET (c = 1 OU d = 1)

Solution :

Pour construire cette requête à l'aide de Laravel Eloquent, suivez ces étapes :

  1. Créez une requête anonyme en utilisant le où méthode.
  2. Dans la requête interne, utilisez la méthode orWhere pour combiner OR conditions.
  3. Créez une autre requête anonyme imbriquée pour définir les conditions ET.

Le code résultant ressemblerait à ceci :

Model::where(function ($query) {
    $query->where('a', '=', 1)
          ->orWhere('b', '=', 1);
})
->where(function ($query) {
    $query->where('c', '=', 1)
          ->orWhere('d', '=', 1);
});

Remarque :

Bien que l'utilisation de SQL brut soit une option pour les requêtes plus complexes, il est généralement recommandé d'utiliser Eloquent pour maintenir lisibilité et profitez des fonctionnalités de création de requêtes d'Eloquent.

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:
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