@nimfai

Как сделать выборку тегов и подсчитать кол-во материалов в Laravel?

Здравствуйте!
Подскажите пожалуйста наилучшее решение для следующей задачи.
Есть список тегов (порядка 2000). Нужна на странице вывести список тегов с указанием количества статей, прикреплённых к ним используя Laravel Query Builder.
C выборкой тегов проблем никаких.
$request = DB::table('tags')->paginate(150);
А что что необходимо добавить, чтобы в результате ещё и получить количетсво материалов в таблице content, где content.tag_id равен tags.tag_id.
Спасибо!
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 2
@AibekAS
1. Настроить отношения
Обычно для тегов работают с Many To Many или Many To Many Polymorphic Relations

2. Теперь надо писать запросы к отношениям
$tags = App\Tag::withCount('contents')->get();
Количество статей хранится в поле contents_count
Если нужно при этом отфильтровать статьи, то
$tags = App\Tag::withCount(['contents' => function ($query) {
    $query->where('status', 1);
}])->get();


Ответ написан
zvermafia
@zvermafia
WebDev
Подскажите пожалуйста наилучшее решение для следующей задачи.

Eloquent: Relationships
...используя Laravel Query Builder.

Database: Query Builder
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
4px Москва
от 100 000 до 150 000 руб.
Digital-агентство Nimax Санкт-Петербург
от 80 000 до 110 000 руб.
FUTUROOM Самара
от 150 000 руб.
16 авг. 2018, в 12:52
100000 руб./за проект
16 авг. 2018, в 12:43
3000 руб./за проект
16 авг. 2018, в 12:11
100 руб./за проект