Laravel Query builder,如何让 1 领先于哪里,另一个领先于哪里?
Posted
技术标签:
【中文标题】Laravel Query builder,如何让 1 领先于哪里,另一个领先于哪里?【英文标题】:Laravel Query builder, how to have 1 leading where and the other orwhere? 【发布时间】:2018-03-22 21:05:16 【问题描述】:我的查询有问题。
我想过滤 user_id 是经过身份验证的用户的所有订单。并在字段 number1 和字段 number2 上运行 searchquery。
查询:
$query = Order::query();
$query->where('user_id', Auth()->id())
->where('number','LIKE', '%' . $searchquery . '%')
->orWhere('number2,'LIKE', '%' . $searchquery . '%')
->with('user');
我想始终检查 user_id 在哪里Auth()->id()
;
但是当我运行这个 orWhere 时,它也会从其他用户那里获得订单。
提前致谢。
【问题讨论】:
Auth()->id() 工作正常,我已经检查过了 【参考方案1】:这样做:
$query = Order::query();
$query->where('user_id', Auth()->id())
->where(function ($query) use ($searchquery)
$query->where('number','LIKE', '%' . $searchquery . '%');
$query->orWhere('number2,'LIKE', '%' . $searchquery . '%');
)
->with('user');
【讨论】:
完美,正是我所需要的。会尽可能批准这个答案。以上是关于Laravel Query builder,如何让 1 领先于哪里,另一个领先于哪里?的主要内容,如果未能解决你的问题,请参考以下文章
如何将此 SQL 转换为 Laravel Query Builder 查询?
如何使用 spatie/laravel-query-builder 过滤/搜索具有关系的数据? (拉拉维尔)
如何使用 Laravel Eloquent 和 Laravel Query Builder 进行联合查询?
如何正确分组 Laravel Query Builder 中的 where 子句