मैं एक संबंधित मॉडल पर, कुछ इस तरह एकाधिक स्तंभों में औसत मूल्य प्राप्त करने के लिए देख रहा हूँ:Eloquent का उपयोग कर एकाधिक कॉलम औसत कैसे करें?
$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);
जिसके परिणामस्वरूप कई प्रश्न हैं। यहां एक सर्वोत्तम अभ्यास के लिए कोई सुझाव?
$averages = $this->reviews()
->select(DB::raw('avg(communication) c, avg(friendliness) f'))
->first();
echo $averages->c;
echo $averages->f;
के बाद से एकीकृत फ़ंक्शन नाम avg
Laravel द्वारा सभी समर्थित डेटाबेस द्वारा मान्यता प्राप्त है, इस वसीयत:
धन्यवाद
धन्यवाद - एक इलाज करता है। –
ग्रेट, धन्यवाद - डीबी पर थोड़ा टाइपो: कच्चा, डीबी होना चाहिए :: कच्चे - चीयर्स – Leon
धन्यवाद, मैंने अपना जवाब अपडेट किया। –