۰ Bita Khani
استفاده ازeager loading برای متد شمارش لایک
جامعه لاراول ایجاد شده در ۲۸ آذر ۱۴۰۳

من میخوام بدونم آیا میشه برای این دوتا متد که در این بخش نوشتیمشون، از eager loading و یا lazy loading استفاده کرد تا تعداد کوئری هامون پایین‌تر بیاد؟ و اگه میشه، به چه شکل؟

متدها:

public function getLikesCountAttribute()
{
    return $this->likes()->where('vote' , 1)->count();
}
public function getDislikesCountAttribute()
{
    return $this->likes()->where('vote', -1)->count();
}

کوئری‌های تکرار شونده:

select count(*) as aggregate from `likes` where `likes`.`likeable_type` = 'App\\Models\\Comment' and `likes`.`likeable_id` = 47 and `likes`.`likeable_id` is not null and `vote` = 1

و

 

select count(*) as aggregate from `likes` where `likes`.`likeable_type` = 'App\\Models\\Video' and `likes`.`likeable_id` = 34 and `likes`.`likeable_id` is not null and `vote` = 1