Laravel关联查询时,如何让字段自带表前缀?
例子中的关联查询,别管用不用得到关联users表,我都得在所有字段面前加上orders.,请问有没有什么办法能省去orders.
$query = Order:query()
//根据支付状态查询
if ($request->is_pay) {
$query->where('orders.is_pay', $request->is_pay);
}
//根据用户手机号查询
if ($request->user_mobile) {
$query->leftJoin('users', 'users.id', '=', 'orders.user_id')
->where('users.mobile', $request->user_mobile);
}
必须要这么干的,不然sql语义不明确,表名太长的话,你可以起别名
个人建议用模型关联,不用写那么多if。少用这些Join
用 ORM 好一些
whereHas
换成with咋样
冒昧问一下,这个问题解答了你还会删除问题么?
建议使用模型关系