次のような、関連するモデルの複数の列の平均値を取得しようとしています。
$this->reviews()->avg('communication', 'friendliness')
コミュニケーションと親しみやすさは列名の配列です。ただし、集計関数は単一の列名のみをサポートしているように見えるので、これを行っています:
$attributes = array('communication', 'friendliness');
$score = array();
foreach ($attributes as $attribute)
{
$score[] = $this->reviews()->avg($attribute);
}
return round(array_sum($score) / sizeof($attributes), 1);
その結果、複数のクエリが発生します。ここでベストプラクティスの提案はありますか?
ありがとう