在 Laravel 5 (并且包含 ThinkPHP 5) 中,`where` 是一个用来添加条件的查询构造器的方法。它允许开发者在构建数据库查询时定义筛选条件。`where` 方法可以用于多种查询操作,例如选择数据、更新数据或删除数据。

使用 `where` 方法的基本方式如下:

### 基本用法

```php
use think\Db;

// 获取用户表中 id 为 1 的用户
$user = Db::table('users')-where('id', 1)-find();
```

### 多个条件

如果要进行多个条件的查询,可以使用链式调用 `where` 方法:

```php
// 查询 username 为 'john' 且 age 大于 30 的用户
$users = Db::table('users')
    -where('username', 'john')
    -where('age', '', 30)
    -select();
```

### 使用数组

你也可以通过传递一个数组来指定多个条件:

```php
// 查询满足多个条件的用户
$users = Db::table('users')-where([
    'username' = 'john',
    'age' = ['', 30]
])-select();
```

### 使用闭包

在复杂查询中,使用闭包可能会更灵活。例如:

```php
$users = Db::table('users')
    -where(function ($query) {
        $query-where('age', '', 25)
              -where('status', 1);
    })
    -select();
```

### 字段和条件的灵活使用

`where` 方法支持多种操作符,包括等于(=`=`)、不等于(=`!=`)、大于(=``)、小于(=``)、大于等于(=`=`)、小于等于(=`=`)、LIKE等。

```php
// 查询用户名以 'admin' 开头的用户
$users = Db::table('users')-where('username', 'like', 'admin%')-select();
```

### 排序和分页

有时,你可能还想在 `where` 之后添加排序和分页:

```php
$users = Db::table('users')
    -where('age', '', 30)
    -order('created_at', 'desc')
    -paginate(10);
```

### 总结

`where` 方法在 ThinkPHP 5 中是一个非常强大和灵活的工具,能够帮助你构建各种条件复杂的 SQL 查询。理解和掌握 `where` 方法的用法,可以让你在进行数据库操作时,事半功倍。在 Laravel 5 (并且包含 ThinkPHP 5) 中,`where` 是一个用来添加条件的查询构造器的方法。它允许开发者在构建数据库查询时定义筛选条件。`where` 方法可以用于多种查询操作,例如选择数据、更新数据或删除数据。

使用 `where` 方法的基本方式如下:

### 基本用法

```php
use think\Db;

// 获取用户表中 id 为 1 的用户
$user = Db::table('users')-where('id', 1)-find();
```

### 多个条件

如果要进行多个条件的查询,可以使用链式调用 `where` 方法:

```php
// 查询 username 为 'john' 且 age 大于 30 的用户
$users = Db::table('users')
    -where('username', 'john')
    -where('age', '', 30)
    -select();
```

### 使用数组

你也可以通过传递一个数组来指定多个条件:

```php
// 查询满足多个条件的用户
$users = Db::table('users')-where([
    'username' = 'john',
    'age' = ['', 30]
])-select();
```

### 使用闭包

在复杂查询中,使用闭包可能会更灵活。例如:

```php
$users = Db::table('users')
    -where(function ($query) {
        $query-where('age', '', 25)
              -where('status', 1);
    })
    -select();
```

### 字段和条件的灵活使用

`where` 方法支持多种操作符,包括等于(=`=`)、不等于(=`!=`)、大于(=``)、小于(=``)、大于等于(=`=`)、小于等于(=`=`)、LIKE等。

```php
// 查询用户名以 'admin' 开头的用户
$users = Db::table('users')-where('username', 'like', 'admin%')-select();
```

### 排序和分页

有时,你可能还想在 `where` 之后添加排序和分页:

```php
$users = Db::table('users')
    -where('age', '', 30)
    -order('created_at', 'desc')
    -paginate(10);
```

### 总结

`where` 方法在 ThinkPHP 5 中是一个非常强大和灵活的工具,能够帮助你构建各种条件复杂的 SQL 查询。理解和掌握 `where` 方法的用法,可以让你在进行数据库操作时,事半功倍。