我有一个表地方和表评级。 每个地方在评级表中都有多行。 我希望得到所有地方,每个地方对象应该有一个名为 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(评级)对象中。