Laravel Eloquent loadCount() с несколькими одинаковыми отношениямиPhp

Кемеровские программисты php общаются здесь
Anonymous
Laravel Eloquent loadCount() с несколькими одинаковыми отношениями

Сообщение Anonymous »

Можно загрузить количество отношений для уже полученной модели, вот так:

Код: Выделить всё

$post->loadCount([
'comments',
'something',
'else',
]);
Теперь я хочу добавить ограничения к некоторым счетчикам:

Код: Выделить всё

$post->loadCount([
'comments' => fn($q) => $q->where('approved', true),
'something',
'else',
]);
Отлично, но теперь мне нужно подсчитать одобренные и не одобренные комментарии. И я застрял.

Код: Выделить всё

$post->loadCount([
'comments' => fn($q) => $q->where('approved', true), // as comments_approved
'comments' => fn($q) => $q->where('approved', false), // as comments_pending
'something',
'else',
]);
Это, конечно, не работает, поскольку комментарии определяются в массиве дважды.
Также, поскольку loadCount() ожидает имя отношения в качестве ключа массива, я нельзя использовать comment_approved, потому что это не связь.
Есть ли какая-то другая опция в loadCount или другой подход?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -relations

Вернуться в «Php»