如何在laravel查询中添加括号? [英] How adding brackets in laravel query?
本文介绍了如何在laravel查询中添加括号?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的查询laravel是这样的:
My query laravel is like this :
$customer = Customer::where('full_name', 'iLIKE', '%'.$param['keyword'].'%')
->orWhere('mobile', 'iLIKE', '%'.$param['keyword'].'%')
->orWhere('phone', 'iLIKE', '%'.$param['keyword'].'%')
->where('published','1')
->where('customer_status','N')
->orderBy('full_name', 'ASC')->get();
如果我打印常规查询,请使用此:
If I print regular query use this :
DB::listen(function($sql, $bindings, $time) {
\Log::info($sql);
\Log::info(print_r($bindings,1));
\Log::info($time);
});
结果:
select * from "ss_customer"
where "full_name" iLIKE '%ronaldo%' or "mobile" iLIKE '%ronaldo%' or "phone" iLIKE '%ronaldo%' and "published" = 1 and "customer_status" = 'N'
order by "full_name" asc
我想添加方括号,以便查询变为:
I would like to add brackets so the query becomes like this :
select * from "ss_customer"
where ("full_name" iLIKE '%ronaldo%' or "mobile" iLIKE '%ronaldo%' or "phone" iLIKE '%ronaldo%') and "published" = 1 and "customer_status" = 'N'
order by "full_name" asc
如何在laravel查询中添加括号?
How to add brackets in laravel query?
谢谢
推荐答案
很简单,只需将查询作为闭包传递
It's easy, just pass your query as a closure
$customer = Customer::where(function($query) use ($param) {
$query->where('full_name', 'iLIKE', '%'.$param['keyword'].'%')
->orWhere('mobile', 'iLIKE', '%'.$param['keyword'].'%')
->orWhere('phone', 'iLIKE', '%'.$param['keyword'].'%');
})->where('published','1')
->where('customer_status','N')
->orderBy('full_name', 'ASC')->get();
这篇关于如何在laravel查询中添加括号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文