|
基础条件
|
where('字段', 值)
|
等于(简写)
|
Db::name('user')->where('id', 1)->select();
|
|
|
where('字段', '操作符', 值)
|
标准比较(>、<、>=、<=、<>)
|
where('age', '>=', 18)
|
|
|
whereOr('字段', 值)
|
OR 条件
|
where('status',1)->whereOr('type',2)
|
|
|
whereRaw('原生SQL', [绑定])
|
原生复杂条件,务必用参数绑定
|
whereRaw('id > ? AND name LIKE ?', [1, '%a%'])
|
|
快捷查询
|
whereLike('字段', '模式')
|
LIKE 模糊匹配
|
whereLike('name', 'think%')
|
|
|
whereNotLike('字段', '模式')
|
NOT LIKE
|
whereNotLike('name', 'think%')
|
|
|
whereIn('字段', 数组)
|
IN 查询
|
whereIn('id', [1,2,3])
|
|
|
whereNotIn('字段', 数组)
|
NOT IN
|
whereNotIn('id', [1,2,3])
|
|
|
whereNull('字段')
|
字段 IS NULL
|
whereNull('email')
|
|
|
whereNotNull('字段')
|
字段 IS NOT NULL
|
whereNotNull('email')
|
|
|
whereBetween('字段', [起, 止])
|
BETWEEN 区间
|
whereBetween('id', [1, 8])
|
|
|
whereNotBetween('字段', [起, 止])
|
NOT BETWEEN
|
whereNotBetween('id', [1, 8])
|
|
|
whereColumn('字段1', '操作符', '字段2')
|
两字段比较
|
whereColumn('update_time', '>', 'create_time')
|
|
时间查询
|
whereTime('字段', '>=', 时间)
|
时间比较(自动识别字段类型)
|
whereTime('create_time', '>=', '2026-09-23')
|
|
|
whereBetweenTime('字段', 起, 止)
|
时间区间(你之前用的)
|
whereBetweenTime('create_time', '2026-09-23', '2026-09-24')
|
|
|
whereDay / whereMonth / whereYear
|
按天/月/年筛选
|
whereDay('create_time', '2026-09-23')
|
|
复杂组合
|
where(闭包)
|
AND 包裹一组 OR 条件,自动加括号
|
where(function($q){ $q->whereLike('name','a%')->whereOr('id','>',10); })
|
|
|
whereOr(闭包)
|
OR 包裹一组条件
|
whereOr(function($q){ ... })
|
|
结果获取
|
find()
|
查单条,无结果返回 null
|
Db::name('user')->where('id',1)->find();
|
|
|
select()
|
查多条,返回数据集对象
|
->select()
|
|
|
value('字段')
|
查单字段值
|
->where('id',1)->value('name');
|
|
|
column('字段', '索引字段')
|
查一列(可指定索引)
|
->column('name', 'id');
|
|
|
chunk(数量, 闭包)
|
分批处理大量数据
|
->chunk(100, function($users){ ... });
|
|
|
cursor()
|
游标查询(内存友好)
|
foreach(Db::name('user')->cursor() as $user){ ... }
|
|
链式辅助
|
field('id,name')
|
指定查询字段
|
->field('id,name')->select();
|
|
|
order('id', 'desc')
|
排序
|
->order('id', 'desc');
|
|
|
limit(10)
|
限制条数
|
->limit(10);
|