我有一个子查询查询..我想编写一个明确的SQL请求并执行它 查询:
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!
答案 0 :(得分:2)
您可以将子查询与 DB :: raw 一起使用。 方法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"));
答案 1 :(得分:0)
使用 DB :: select 可以解决您的问题。
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');
答案 2 :(得分:-1)
为什么不尝试使用DB :: raw('这里是你的sql查询')