有許多分類(Category.php)在我的網站的索引,其中有許多委員會(Board.php)。 董事會可以有很多主題(Topic.php),並且主題可以有很多回復(Reply.php)。Laravel的hasMany關係計數
我想獲取當前董事會的回覆數,可能與預先加載。
我有一個辦法,但它執行了太多的查詢。我創建了一個post_count屬性,然後遍歷每個主題並收集多個回覆。有沒有辦法選擇當前主板的所有回覆?
public function getPostCountAttribute()
{
$count = 0;
foreach ($this->topics()->withCount('replies')->get() as $topic) {
$count += $topic->replies_count;
}
return $count;
}
不應該whereIn()有兩個參數?缺少參數2爲Illuminate \ Database \ Query \ Builder :: whereIn()..我改爲whereIn('topic_id',$ topic_ids),沒有結果。 – dinomuharemagic
@core_m。我更新了。 – KmasterYC
打印並查看$ topics_ids是否提取您的ID。代碼似乎沒有錯。 –