在数据库查询时,我们经常会遇到查询条件不确定或者条件数量不统一的情况,这种情况下用构造数组作为查询条件就非常方便
$where = []; //定义条件数组
$where['name'] = 'test'; //直接赋值
if (!empty($request->status)) {
$where['status'] = $request->status; //添加不确定条件
}
$where[] = ['created_at', '>=', $request->start_at]; //范围查询
$where[] = ['id', '!=', $request->id];
$where[] = ['name', 'like', '%' . $request->name . '%']; //模糊查询
$where[] = ['age', 'in', [1,2,3]];
$result = User::where($where)->get(); //查询结果