Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
всем привет!
подскажите, пожалуйста, как написать вот такой запрос:
SELECT ag.*,
(select count(a.id) from articles a where a.group_id = ag.id and status='active') active,
(select count(a.id) from articles a where a.group_id = ag.id and status='disable') disable,
(select count(a.id) from articles a where a.group_id = ag.id and status='deleted') deleted
FROM articles_groups ag where ag.programm_id = '00' AND ag.user_id = '00'
Не в сети
Имееется в виду с помощью Fluent/Eloquent? Проще выполнить его в сыром виде. Ещё лучше — переписать в виде объединений, например так:
sqlSELECT ag.*, COUNT(a.id), status FROM articles a JOIN articles_groups ag ON ag.programm_id = '00' AND ag.user_id = '00' AND a.group_id = ag.id GROUP BY status
Я не проверял, запрос сложный — проверь и поправь сам, если нужно. Если подойдёт, то с помощью Eloquent это можно легко написать, см. докуметацию.
Не в сети
Имееется в виду с помощью Fluent/Eloquent? Проще выполнить его в сыром виде. Ещё лучше — переписать в виде объединений, например так:
sqlSELECT ag.*, COUNT(a.id), status FROM articles a JOIN articles_groups ag ON ag.programm_id = '00' AND ag.user_id = '00' AND a.group_id = ag.id GROUP BY statusЯ не проверял, запрос сложный — проверь и поправь сам, если нужно. Если подойдёт, то с помощью Eloquent это можно легко написать, см. докуметацию.
спасибо, но этот запрос возвращает не то, что предыдущий. дело в том, что сейчас переделываю самописную библиотеку на laravel (не свою), вот тут встретил такой запрос… хотелось бы конечно тот сделать, что в вопросе
Не в сети
Не в сети
Проще его выполнить через %%DB::query()%%, если нет возможности его переделать.
хм, почему то ругается на то, что такого метода нет. киньте ссылку, где про него почитать пожалуйста
Изменено kiselevmike (04.10.2013 14:31:59)
Не в сети
Для L4 метод другой. См. документацию, это быстрее и можно сделать самому.
Не в сети
}%Для L4 метод другой. См. ((http://laravel.ru/docs/v4/queries#%D1%81%D1%8B%D1%80%D1%8B%D0%B5 документацию)), это быстрее и можно сделать самому.
спасибо большое за помощь! db::raw сделал свое дело
Не в сети
kak napisat paruski clovo artile
Не в сети
Страницы 1