获得每个单独对象的平均值,而不是一行中的所有对象

时间:2016-04-12 11:56:47

标签: mysql laravel laravel-query-builder

我有一个表地方和表评级。 每个地方在评级表中都有多行。 我希望得到所有地方,每个地方对象应该有一个名为 user_rating 的属性。它的值是此地方的 rating.rate_no 的平均值。如果此地方没有评级(评级表中没有行),则user_rating应为0 我的代码是:

$data = DB::table('places')
    ->join('rating', 'places.id', '=', 'rating.place_id', 'left outer')
    ->select(
        'places.*',
        'rating.rate_no',
        DB::raw('avg(rating.rate_no) as user_rating')
    )
    ->groupBy('rating.rate_no')
    ->get();

此代码组所有位置都放在一个我不想要的avarage(评级)对象中。

0 个答案:

没有答案