2017-02-01 6 views
0

У меня есть запрос с подзапросом .. и я хочу написать запрос Явного SQL и выполнить его запроса:Laravel 4.2 выполнить запрос без использования elequent построителя запросов

select count(*) as count from 
(
SELECT DISTINCT t.article_id FROM 
`articles` as a left join `tags` as t 
on a.`id` = t.`article_id` 
where a.`flag` = 1 
) as sub 

я попытался это казнить запрос без построения запроса:

DB::connection()->getPdo()->exec($sql); 

Но он всегда возвращается 0!

ответ

1

Вы можете использовать вспомогательный запрос с DB :: сырец. Метод DB :: raw() (не забудьте использовать Illuminate \ Support \ Facades \ DB) позволяет вам выбрать то, что вы хотите, и в основном писать необработанные SQL-инструкции.

DB::select(DB::raw("select count(*) as count from 
(
SELECT DISTINCT t.article_id FROM 
`articles` as a left join `tags` as t 
on a.`id` = t.`article_id` 
where a.`flag` = 1 
) as sub")); 

https://laravel.com/docs/4.2/queries#raw-expressions

-1

Почему бы вам не попробовать с БД :: сырец («ваш запрос здесь»)

0

Использование DB :: выбрать должен решить вашу проблему.

DB::select('select count(*) as count from 
(
SELECT DISTINCT t.article_id FROM 
`articles` as a left join `tags` as t 
on a.`id` = t.`article_id` 
where a.`flag` = 1 
) as sub'); 
Смежные вопросы