0

我有一个餐桌位置和餐桌评级。每个地方在评级表中都有多行。我想获取所有地点,并且每个地点对象都应该有一个名为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();

此代码将所有位置都放在一个对象中,并带有我不想要的 varage(rating)。

4

0 回答 0