2013-06-04 4 views
1

Я пытаюсь запустить этот запрос в Laravel и хотел бы сделать это с помощью построителя запросов, поэтому я могу использовать метод paginate(). Но я не могу понять, как получить этот подзапрос.Как сделать этот запрос с Laravel query builder

Необработанные запрос:

SELECT * 
FROM (
SELECT * 
FROM `order_history` 
WHERE `customer_id` = '05033' 
AND `part_number` LIKE 'M%' 
ORDER BY `shippingdate` DESC) history 
GROUP BY `part_number` 

Заранее спасибо!

+0

Пытались ли вы что-нибудь еще? Вы хотите использовать Fluent или Eloquent? –

+0

Красноречивый будет предпочтительнее, но Fluent тоже прекрасен. Позже выведут некоторые пробные версии. – Crinsane

ответ

0
DB::table(order_history)->where(function($query) 
         { 
           $query->where('customer_id','=','05033') 
            ->where('part_number','like','$m'); 
         }) 
         ->group('part_number') 
         ->paginate(10) 
         ->get(); 

должен быть correctish

+0

Ну, не совсем, После paginate() вам не нужно делать get(), но кроме этого это даст мне запрос типа: '" select * from order_history где (customer_id = '05033' и part_number like 'M%') group by part_number ", который мне не нужен. Мне нужен подзапрос для предложения FROM – Crinsane