如何在laravel中执行MYSQL查询?

时间:2016-03-31 10:51:22

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

我有一个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');

3 个答案:

答案 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