0
だから私は今の私が言うことができ、多くの多型関係に多くのようなフィードバックモデルを持っている:Laravelで多形関係から平均を得るにはどうすればよいですか?
$user->feedbacks
、それは今私のような何かをしたい、それに応じて関係を取得します:
$user->feedbacks->getAverage()
を単純に(1から5までの数字)の平均フィードバック評価
を吐き出すために
私はFeedback.phpモデルファイルに次の関数を追加しました:
public function getAverage(){
$described = $this->avg('described');
$recommend = $this->avg('recommend');
$communication = $this->avg('communication');
$average = ($described + $recommend + $communication)/3;
return $average;
}
しかし、Laravelはこの方法を認識しません。
助けてください。
私の代わりに、私はこの機能を配置私のUserモデルで、このための回避策を見つけました: パブリック関数getAverageFeedback(){ $フィードバック=の$ this - > morphToMany(フィードバック::クラス、 'feedbackable'); $ described = $ feedbacks-> avg( '明細'); $ recommend = $ feedbacks-> avg( 'お勧め'); $ communication = $ feedbacks-> avg( 'communication'); $平均=($記述+ $お勧め+ $通信)/ 3; return $ average; } しかし、これが最良のアプローチであるかどうかはまだ分かりません –