2015-07-20 75 views
1

如何使用Laravel-5构建以下MySQL查询?如何在Laravel-5中构建子查询

select orders.*, oi.items from orders 
inner join (select order_id, group_concat(item_name SEPARATOR ', ') as items 
from orders_items group by order_id) as oi on oi.order_id = orders.id; 

编辑

的建议link并没有解决我的问题,但是我没有找到一个解决方案,将发布它下面的人。

回答

2
$order = $order->select('orders.*', 'oi.items'); 
$order->join(DB::raw('(select order_id, group_concat(item_name SEPARATOR ",") as items from orders_items group by order_id) as oi'), function($join) 
{ 
    $join->on('oi.order_id', '=', 'orders.id'); 
}); 
$order->whereRaw('find_in_set ("'.$value.'", oi.items)'); 

$rows = $order->get();