thinkphp5.1 est actuellement l'un des frameworks de développement PHP les plus populaires. Il fournit des fonctions de requête puissantes et peut être utilisé pour effectuer diverses opérations complexes dans la base de données. Dans le processus de développement actuel, nous rencontrons souvent des situations où nous devons demander si elle n'est pas égale à une certaine valeur. Cet article présentera en détail comment effectuer une requête d'inégalité dans thinkphp5.1.
Nous devons d'abord comprendre le générateur de requêtes de thinkphp5.1, qui construit des instructions de requête SQL via des méthodes d'appel en chaîne. Par exemple, nous pouvons utiliser le code suivant pour interroger l'enregistrement avec l'identifiant 1 dans la table :
$user = Db::name('user')->where('id', 1)->find();
Ici, Db::name('user') signifie faire fonctionner la table utilisateur, où(' id', 1 ) signifie interroger l'enregistrement avec id=1, et find() signifie trouver un enregistrement et le renvoyer. Il s'agit d'un exemple de requête simple, mais dans les applications réelles, nous devons interroger certains enregistrements qui ne sont pas égaux à une certaine valeur.
Tout d'abord, nous pouvons utiliser la méthode notEq pour interroger les enregistrements qui ne sont pas égaux à une certaine valeur. Voici un exemple :
$users = Db::name('user')->where('status', '<>', 1)->select();
Ici, la méthode notEq interrogera tous les enregistrements dont le statut n'est pas égal à 1. Si nous voulons interroger des enregistrements dont l'identifiant est différent de 1, nous pouvons utiliser le code suivant :
$users = Db::name('user')->where('id', '<>', 1)->select();
Dans la méthode Where, nous pouvons utiliser d'autres opérateurs de comparaison, tels que : >, <, >= , <= et ainsi de suite. Si l'on veut interroger tous les enregistrements dont le statut n'est pas égal à 1 et 2, on peut utiliser le code suivant :
$users = Db::name('user')->where('status', 'not in', [1, 2])->select();
Ici, 'not in' signifie une valeur qui n'est pas comprise entre [1, 2 ]. Nous pouvons également utiliser d'autres opérateurs de comparaison, comme dans, entre, pas entre, etc.
Si nous voulons interroger des enregistrements avec un statut vide, nous pouvons utiliser le code suivant :
$users = Db::name('user')->where('status', 'NULL')->select();
Notez que 'NULL' ici est une chaîne, indiquant une valeur NULL. De même, nous pouvons également interroger des valeurs non nulles, par exemple :
$users = Db::name('user')->where('status', 'NOT NULL')->select();
En plus d'utiliser la méthode Where, nous pouvons également utiliser la méthode WhereRaw pour interroger des enregistrements qui ne sont pas égaux à une certaine valeur. Voici un exemple :
$users = Db::name('user')->whereRaw('status <> 1')->select();
Ici, la méthodewhereRaw nous permet d'utiliser le symbole d'inégalité (<>) directement dans l'instruction SQL.
Enfin, nous pouvons également utiliser des fonctions de fermeture pour créer des conditions de requête. Voici un exemple :
$users = Db::name('user')->where(function($query){ $query->where('status', '<>', 1) ->whereOr('name', '<>', 'admin'); })->select();
Ici, la méthode Where dans la fonction de fermeture rend la requête différente de l'enregistrement avec le statut 1, et la méthode WhereOr n'est pas égale à l'enregistrement nommé admin.
En résumé, pour interroger des enregistrements qui ne sont pas égaux à une certaine valeur dans thinkphp5.1, nous pouvons utiliser la méthode notEq, la méthode Where, la méthode WhereRaw, la fonction de fermeture et d'autres méthodes. Il est nécessaire de choisir la méthode appropriée en fonction de la situation réelle. Si vous avez des questions pendant le développement, vous pouvez vous référer à la documentation officielle de thinkphp5.1 ou participer aux communautés de développement liées à thinkphp5.1 pour obtenir plus d'aide et de support.
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!