【发布时间】:2015-09-07 06:57:20
【问题描述】:
我有这些模型,地点,评论,用户。
一个用户可以为多个场地评分。
一个venue 有很多reviews
一个review 属于一个venue 和user
在我的场地模型上,我有一个计算场地分数的方法:
public function score()
{
$reviewCount = $this->reviews()->count();
$qualitySum = $this->reviews()->sum('quality') * 2;
$decorSum = $this->reviews()->sum('decor');
$venueAverage = ($qualitySum + $decorSum) / ($reviewCount * 30);
$minReview = 5;
//based on weighted average and Barnsley average
$average = ($reviewCount * Review::R()) / ($reviewCount + $minReview) + ($minReview * $venueAverage) / ($reviewCount + $minReview);
$average = round($average, 1);
return $average;
}
这里的问题是:我怎样才能检索那些得分为>3的场地
以及如何根据分数对结果进行排序
【问题讨论】:
标签: laravel model laravel-5 eloquent