thinkphp5.1 is currently one of the most popular PHP development frameworks. It provides powerful query functions that can be used to perform various complex operations in the database. In the actual development process, we often encounter situations where we need to query if it is not equal to a certain value. This article will introduce in detail how to perform an inequality query in thinkphp5.1.
We first need to understand the query builder of thinkphp5.1, which builds SQL query statements through chain calling methods. For example, we can use the following code to query the record with id 1 in the table:
$user = Db::name('user')->where('id', 1)->find();
Here, Db::name('user') means that the user table is to be operated, and where('id', 1) means To query the record with id=1, find() means to find a record and return it. This is a simple query example, but in actual applications, we need to query some records that are not equal to a certain value.
First of all, we can use the notEq method to query records that are not equal to a certain value. The following is an example:
$users = Db::name('user')->where('status', '<>', 1)->select();
Here, the notEq method will query all records whose status is not equal to 1. If we want to query records with id not equal to 1, we can use the following code:
$users = Db::name('user')->where('id', '<>', 1)->select();
In the where method, we can use other comparison operators, such as: >, <, >=, < ;= Wait. If we want to query all records whose status is not equal to 1 and 2, we can use the following code:
$users = Db::name('user')->where('status', 'not in', [1, 2])->select();
Here, 'not in' means a value that is not between [1, 2]. We can also use other comparison operators, such as in, between, not between, etc.
If we want to query records with empty status, we can use the following code:
$users = Db::name('user')->where('status', 'NULL')->select();
Note that 'NULL' here is a string, indicating a NULL value. Similarly, we can also query non-null values, for example:
$users = Db::name('user')->where('status', 'NOT NULL')->select();
In addition to using the where method, we can also use the whereRaw method to query records that are not equal to a certain value. Here is an example:
$users = Db::name('user')->whereRaw('status <> 1')->select();
Here, the whereRaw method allows us to use the inequality symbol (<>) directly in the SQL statement.
Finally, we can also use closure functions to build query conditions. The following is an example:
$users = Db::name('user')->where(function($query){ $query->where('status', '<>', 1) ->whereOr('name', '<>', 'admin'); })->select();
Here, the where method in the closure function makes the query not equal to records with status 1, and the whereOr method queries not equal to records named admin.
In summary, to query records that are not equal to a certain value in thinkphp5.1, we can use the notEq method, where method, whereRaw method, closure function and other methods. It is necessary to choose the appropriate method according to the actual situation. If you have any questions during development, you can refer to thinkphp5.1 official documentation, or participate in thinkphp5.1-related development communities to get more help and support.
The above is the detailed content of thinkphp5.1 query is not equal to. For more information, please follow other related articles on the PHP Chinese website!