Я ищу лучший способ усреднить значения подмодели в Laravel, но игнорирую некоторые значения.Столбец, который я хочу усреднить, устанавливается как varchar, но содержит либо число от 0 до 10, либо значение «N / A».Мне нужны два средних значения в этом столбце, одно из которых игнорирует значения «N / A», а другое считает значения «N / A» как 0. У меня есть функции, написанные о том, как они будут рассчитывать средние значения, но я надеюсь получить некоторыевведите лучший способ сделать это.
Я хотел бы иметь возможность вызывать эти функции следующим образом:
$web_scored_tq = $website->scored_tq;
$web_uscored_tq = $website->unscored_tq;
Функции:
public function scored_tq() {
$valid_click_ads = $this->valid_click_ads;
$total = 0;
$num = 0;
foreach ($valid_click_ads as $valid_click_ad) {
if ($valid_click_ad->tq != "N/A") {
$total += $valid_click_ad->tq;
++$num;
}
}
$scored_tq = $total / $num;
}
public function unscored_tq() {
$valid_click_ads = $this->valid_click_ads;
$total = 0;
$num = 0;
foreach ($valid_click_ads as $valid_click_ad) {
if ($valid_click_ad->tq != "N/A") {
$total += $valid_click_ad->tq;
++$num;
} else {
++$num;
}
}
$unscored_tq = $total / $num;
}