用途:通用的查询条件
依赖类:\x\redis\UML
方法名:where()
参数:
string|array $field
string $operator
null
mixed $value
false
返回值:this
使用示例:
$User = new \app\uml\User();
// 场景:字符串
$User->where('name', '=', '小黄牛');
// 场景:数组
$where = [
['name', '=', '小黄牛'],
];
$User->where($where);
where()
的逻辑表达式只支持2种:eq
和range
,如果是要用符号表示的话,则是=
和><
同时,在使用eq
等于查询时,一个字段只能存在一个查询值,因为where()
整个逻辑内部,都是and
过滤操作,如果要一个字段,支持查询多个值,查询参数可以传入一个数组值。
具体案例如下:
$User = new \app\uml\User();
// 场景:查询状态 =1 或者 =2 的数据
$User->where('status', '=', [1, 2]);
// 场景:查询状态 =1 或者 =2 的数据
// AND 地区ID 必须等于 200 或者 300
$User->where('status', '=', [1, 2])
->where('region_id', '=', [200, 300]);
// 场景:查询状态 =1 或者 =2 的数据
// AND 地区ID 必须等于 200 或者 300
// AND 年龄 必须在 18 - 45之间
$User->where('status', '=', [1, 2])
->where('region_id', '=', [200, 300])
->where('age', '><', [18, 45]);