На моем индексном сайте есть много категорий (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
Печать и просмотр, если $ themes_ids выдает идентификатор. В коде нет ничего плохого. –