十三、PHP框架Laravel学习笔记——构造器的 where 派生查询

一.where 派生查询

  1. orWhere()方法,可以通过连缀实现两个或以上的 or 条件查询;
//where() + orWhere 实现 or 条件查询 
$users = DB::table('users') ->where('price', '>', 95) ->orWhere('gender', '女') ->toSql(); 

十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第1张图片
十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第2张图片

  1. 通过闭包,我们还可以构建更加复杂的 orWhere 查询;
//orWhere()结合闭包查询 
$users = DB::table('users') 
	->where('price', '>', '95') 
	->orWhere(function ($query) {
      
		$query->where('gender', '女') ->where('username', 'like', '%小%'); 
	})->toSql(); 

十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第3张图片

  1. whereBetween()可以实现区间查询,比如价格在一个区间内的用户;
//whereBetween 查询区间价格 60~90 之间 
$users = DB::table('users')->whereBetween('price', [60, 90])->toSql(); 

PS:这里还支持相关三种:whereNotBetween/orWhereBetween/orWhereNotBetween;

十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第4张图片
十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第5张图片

  1. whereIn()可以实现数组匹配查询,比如匹配出数组里指定的数据;
//whereIn 查询数组里匹配的数值 
$users = DB::table('users')->whereIn('id', [20,30,50])->toSql(); 

PS:这里还支持相关三种:whereNotIn/orWhereIn/orWhereNotIn;
十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第6张图片
5. whereNull()可以查询字段为 Null 的记录;

//whereNull 查询字段值为 Null 的记录 
$users = DB::table('users')->whereNull('uid')->toSql(); 

PS:这里还支持相关三种:whereNotNull/orWhereNull/orWhereNotNull;
十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第7张图片

  1. whereDate()可以查询指定日期的记录;
//whereYear 查询指定日期的记录,或大于 
$users = DB::table('users')->whereDate('create_time', '2018-12-11')->toSql(); 

十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第8张图片

PS:这里还支持相关四种:whereYear/whereMonth/whereDay/whereTime,支持 or 前缀;
PS:三个参数支持大于小于之类的操作 orWhereDate(‘create_time’,’>’, ‘2018-12-11’)
十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第9张图片
十三、PHP框架Laravel学习笔记——构造器的 where 派生查询_第10张图片

你可能感兴趣的:(PHP,mysql,sql,数据库,php,laravel)