查询执行

时间:2016-03-28 10:42:14

标签: php mysql laravel laravel-4 laravel-5

如何在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

2 个答案:

答案 0 :(得分:1)

您可以在Laravel中使用原始查询

mysql_upgrade

http://fideloper.com/laravel-raw-queries

答案 1 :(得分:0)

你可以用滔滔不绝的方式链接where条件,每个被链接的条件都被评估为and

$update = Tag::whereIn('t_id',$tags)->whereIn('u_id',$tags)->where(/*more and conditions you could need*/)->lists('u_id')

编辑:如果你需要与u_id重合的那个,请考虑一下:

$update = DB::table('tags')
->select('t_id', 'u_id', DB::raw('count(*) as total'))
->whereIn('t_id',$tags)
->where('total','=',count($tags))
->groupBy('u_id')
->lists('u_id');