我是Laravel的新手。我正在使用这个laravel 5应用程序,但无法尝试执行如下查询。
select * from carts inner join users on carts.manager_id = users.id
where cart_num like "e%" OR name like "e%"
having region = (select region from users where id = 3);
编辑
该查询的目的是获得与管理员位于同一区域的管理者手推车(因此,subselect的原因。id是管理员的id)
编辑
我得出这样的结果:
return Cart::join('users', 'carts.manager_id', '=', 'users.id')
->where('cart_num', 'like', $match . '%')
->orWhere('name', 'like', $match . '%')
->having('region', '=', function ($query) use ($id) {
return $query->select('region')->where('id', '=', $id);
})
->get();
关于如何完善having子句的任何想法。我收到错误,类Closure的对象无法转换为字符串。谢谢
最佳答案
我想这就是你需要的
return Cart::join('users','carts.manager_id','=','users.id')
->where('cart_num', 'like', $match)
->orWhere('name', 'like', $match."%")
->having('region','=', $region)
->get();
关于php - 如何在Laravel 5中执行包含对 Eloquent 关系的子查询的联接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33320102/