Laravel中的where高级使用方法

有时候项目中需要进行多个字段搜索就可以用到此方法
  • 在Laravel中的可以同时使用多个where,所以我们可以每个字段分配一个where()
  • 然后在每个where()中去闭包判断
$username = '';// 收货人姓名
$hospital_id = ''; // 医院id
# 判断是否有姓名搜索
if (!empty($request->username)) {
    $username = $request->username;
}
# 判断是否有医院搜索
if (!empty($request->hospital_id)) {
    $hospital_id = $request->hospital_id;
}
# 执行
$data = DB::table('test')
->where(function($query)use($username){
	# 进行判断
    if (!empty($username)) {
        $query->where('t1.username','Like',"%$username%");
    }
})
->where(function($query)use($hospital_id){
	# 进行判断
    if (!empty($hospital_id)) {
        $query->where('t1.hospital_id','=',$hospital_id);
    }
})
->get()
->toArray();
dd($data)

觉得有帮助的朋友帮忙点个赞支持,以后会持续分享各种小技巧

猜你喜欢

转载自blog.csdn.net/qq_15957557/article/details/107747037