- where派生查询(where->where=and, where->orWhere=or)
- orWhere()方法,可以通过连缀实现两个或以上的or条件查询:
//where() + orWhere 实现 or 条件查询
$users = \DB::table(‘users’)->where(‘price’,’<’,’95’)
->orWhere(‘gender’, ‘女’)
->get();
b. 通过闭包,我们还可以构建更加复杂的orWhere查询:
//orWhere()结合闭包查询
$users = \DB::table(‘users’)->where(‘price’,’<’,’95’)
->orWhere(function($query){
$query->where(‘gender’, ‘女’)->where(‘username’,’like’,’%张%’);
})->get();
c. whereBetween()可以实现区间查询,比如价格在一个区间内的用户:
$users = \DB::table(‘users’)->whereBetween(‘price’, [95, 280])->get();//whereBetween查询区间价格60~90之间
$users = \DB::table(‘users’)->whereNotBetween(‘price’, [95, 280])->get();//whereNotBetween查询除了这个区间的价格
$users = \DB::table(‘users’)->where(‘id’, 1)->orWhereNotBetween(‘price’, [95, 280])->get();//orWhereNotBetween前面要再加个where,这个用途和第二个类似
$users = \DB::table(‘users’)->where(‘id’, 20)->orWhereBetween(‘price’, [95, 280])->get();//orWhereBetween前面要再加个where,这个用途和第一个类似
d. whereIn()可以实现数组匹配查询,比如匹配出数组里指定的数据:
//whereIn 查询数组里面匹配的数值
$users = \DB::table(‘users’)->whereIn(‘id’,[20,30,50,90])->get();
接下来的就和c版块的内容差不多了whereNotIn, toWhereIn, toWhereNotIn
e. whereDate()可以查询指定日期的记录:
$users = \DB::table(‘users’)->whereDate(‘create_time’,’>’,’2018-04-25’)->get();
Ps: 这里还支持相关四种: whereYear/whereMonth/whereDay/whereTime, 支持 or 前缀,怎么用动脑子想想意思
Ps: 三个参数支持大于小于之类的操作 orWhereDate(‘create_time’, ‘>’,’2018-12-11’)