szukam, aby uzyskać średnią wartość w wielu kolumnach na powiązanym modelu, mniej więcej tak:Jak uśredniać wiele kolumn za pomocą Eloquent?
$this->reviews()->avg('communication', 'friendliness')
Gdzie komunikacja i życzliwość są tablicą z nazwami kolumn. Jednak wygląda na to, że zagregowane funkcje obsługują tylko nazwy z jedną kolumną, więc robię to:
$attributes = array('communication', 'friendliness');
$score = array();
foreach ($attributes as $attribute)
{
$score[] = $this->reviews()->avg($attribute);
}
return round(array_sum($score)/sizeof($attributes), 1);
Co skutkuje wieloma zapytaniami. Jakieś sugestie dotyczące najlepszej praktyki tutaj?
Dzięki
Dzięki - działa uczta. –
Świetnie, dzięki - mała literówka na DB: surowa, powinna być DB :: surowa - otucha – Leon
Dzięki, zaktualizowałem swoją odpowiedź. –