如何在我的情况下正确使用Query Builder Laravel?

时间:2018-01-10 19:26:57

标签: mysql sql laravel

我有一部分需要为Query Builder(Laravel)正确转换的SQL代码。

var array1=[["Sep",687918],["Nov",290709],["Dic",9282],["Ene",234065]]


var array2=[{"Sep":687918},{"Nov":290709},{"Dic":9282},{"Ene":348529}]

任何人都可以打扰我吗? :/

1 个答案:

答案 0 :(得分:1)

使用查询构建器,您可以将其写为

$posts = DB::table('posts as p')
            ->join('comments as c', 'p.post_id', '=', 'c.post_id')
            ->groupBy('p.post_id')
            ->orderByRaw('avg(c.mark_first) desc')
            ->select('p.*')
            ->get();

如果您可以在groupby部分中添加所需的select中的所有列,那么会更好。因为如果启用了mysql的full_group_by模式,则上述查询将无效,默认情况下已启用5.7+