Maison  >  Article  >  cadre php  >  Comment effectuer une requête conditionnelle dans ThinkPHP

Comment effectuer une requête conditionnelle dans ThinkPHP

PHPz
PHPzavant
2023-05-29 18:36:021603parcourir

1. Utilisez la méthode Where pour ajouter des conditions de requête

Dans ThinkPHP, les conditions de requête peuvent être ajoutées à l'aide de la méthode Where. La méthode Where a deux paramètres : le premier paramètre est la condition de requête et le deuxième paramètre est le paramètre de liaison de la condition de requête. Pour interroger les enregistrements avec l'identifiant 1 ou 2, nous pouvons utiliser le code suivant :

$map['id'] = array('eq',1);
$map['id'] = array('eq',2);
$data = M('table_name')->where($map)->select();

Nous définissons d'abord les conditions de requête séparément, l'une avec l'identifiant 1 et l'autre avec l'identifiant 2, puis les ajoutons au tableau $map. Nous transmettons ensuite ce tableau à l'opération de requête en utilisant la méthode Where. Les résultats de la requête renverront un tableau d'enregistrements qui remplissent les conditions.

2. Utiliser un tableau pour transmettre les conditions de requête

En plus d'utiliser la méthode Where, nous pouvons également utiliser un tableau pour transmettre les conditions de requête. En utilisant cette méthode, il nous suffit d'ajouter des conditions de requête au tableau $map. Nous pouvons utiliser le code suivant pour rechercher quels enregistrements de la table ont un identifiant égal à 1 ou égal à 2

$map['id'] = array('in', '1,2');
$data = M('table_name')->where($map)->select();

Nous avons défini les conditions de requête dans le code, qui sont limitées à l'identifiant dans le tableau $map étant 1 ou 2. Nous avons utilisé l'opérateur "in" pour récupérer uniformément les enregistrements portant l'identifiant 1 ou 2. De cette façon, nous pouvons facilement définir des conditions de requête « ou ».

3. Utiliser l'épissage de chaînes

Parfois, nous pouvons utiliser l'épissage de chaînes pour implémenter des conditions de requête « ou ». Par exemple, si nous voulons récupérer des enregistrements qui satisfont à la fois à la condition A et à la condition B, nous pouvons utiliser le code suivant :

$map['字段名'] = array('exp', '(条件A) OR (条件B)');
$data = M('table_name')->where($map)->select();

Dans le code ci-dessus, nous utilisons l'opérateur exp pour transmettre une instruction SQL contenant deux conditions. Notez que cette condition doit être mise entre parenthèses pour garantir une logique correcte.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer