我有一个MYSQL查询,我想在laravel中执行此查询。
select d1.update_id from ( select update_id, count(update_id)
as ct from updates_tags where tag_id in
(67,33,86,55) group by update_id) as d1 where d1.ct=4
请指导我如何轻松完成。
我有一个与我有关的参考....它无法正常工作
$updateArray = DB::table('updates_tags')
->select('update_id', DB::raw('count(*) as update_id'))
->whereIn('tag_id',$jsontags)
->groupBy('update_id')
->having('update_id','=',count($jsontags))
->lists('update_id');
答案 0 :(得分:2)
更改$update = DB::table('tags')
->select('t_id', 'u_id', DB::raw('count(*) as total'))
->whereIn('t_id',$tags)
->groupBy('u_id')
->having('total','=',count($tags))
->lists('u_id');
LEFT JOIN
答案 1 :(得分:1)
您可以执行RAW查询。 像这样:
$sqlQuery = "SELECT d1.update_id FROM...";
$result = DB::select(DB::raw($sqlQuery));
$ result将是一个数组
答案 2 :(得分:0)
在经典PHP中,我们曾经使用mysqli
连接器。在CodeIgniter中,我们使用ActiveRecords(完全可爱)。在Laravel中,还有用于SQL查询的ActiveRecords。
查看官方Laravel文档,查询构建器是您的朋友。 https://laravel.com/docs/4.2/queries