thinkphp 5如何实现whereor
时间: 2024-05-14 15:19:26 浏览: 10
在 ThinkPHP 5 中,可以使用 `where` 方法和 `whereOr` 方法来实现 `OR` 条件的查询。
例如,查询 `id` 为 1 或者 `name` 为 "thinkphp" 的记录,可以这样写:
```php
$where = [
'id' => 1,
'name' => 'thinkphp',
];
$list = Db::name('user')
->where($where)
->whereOr(true)
->select();
```
在上面的示例中,`$where` 变量是一个关联数组,其中包含了两个条件,即 `id=1` 和 `name='thinkphp'`。`where` 方法用于添加 `AND` 条件,而 `whereOr(true)` 方法表示添加一个空的 `OR` 条件,以便后续添加 `OR` 条件。
如果需要添加多个 `OR` 条件,可以重复调用 `whereOr` 方法,例如:
```php
$where = [
'id' => 1,
'name' => 'thinkphp',
];
$list = Db::name('user')
->where($where)
->whereOr('status', '=', 1)
->whereOr('created_at', '>', '2020-01-01')
->select();
```
在上面的示例中,除了原有的 `id` 和 `name` 条件外,还添加了两个 `OR` 条件,分别是 `status=1` 和 `created_at>'2020-01-01'`。