1. orWhere()方法,可以通过连缀实现两个或以上的 or 条件查询;
//where() + orWhere 实现 or 条件查询
$users = DB::table( 'users ')
->where( 'price ', '> ', 95)
->orWhere( 'gender ', '女')
->toSql();
2. 通过闭包,我们还可以构建更加复杂的 orWhere 查询;
//orWhere()结合闭包查询
$users = DB::table( 'users ')
->where( 'price ', '> ', '95')
->orWhere(function ($query) {
$query->where( 'gender ', '女') ->where( 'username ', 'like ', '%小% ');
})->toSql();
3. whereBetween()可以实现区间查询,比如价格在一个区间内的用户;
//whereBetween 查询区间价格 60~90 之间
$users = DB::table( 'users ')->whereBetween( 'price ', [60, 90])->toSql();
PS:这里还支持相关三种:whereNotBetween/orWhereBetween/orWhereNotBetween;
4. whereIn()可以实现数组匹配查询,比如匹配出数组里指定的数据;
//whereIn 查询数组里匹配的数值
$users = DB::table( 'users ')->whereIn( 'id ', [20,30,50])->toSql();
PS:这里还支持相关三种:whereNotIn/orWhereIn/orWhereNotIn;
5. whereNull()可以查询字段为 Null 的记录;
//whereNull 查询字段值为 Null 的记录
$users = DB::table( 'users ')->whereNull( 'uid ')->toSql();
PS:这里还支持相关三种:whereNotNull/orWhereNull/orWhereNotNull;
6. whereDate()可以查询指定日期的记录;
//whereYear 查询指定日期的记录,或大于
$users = DB::table( 'users ')->whereDate( 'create_time ', '2018-12-11')->toSql();
PS:这里还支持相关四种:whereYear/whereMonth/whereDay/whereTime,支持 or 前缀;
PS:三个参数支持大于小于之类的操作 orWhereDate( 'create_time ', '> ', '2018-12-11')