Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 23.01.2014 12:46:52

Получить связанные Many-To-Many модели сразу для нескольких моделей.

Здравствуйте!
Помогите, пожалуйста, новичку разобраться с Eloquent. Стоит такая задача: есть модель постов (для блога) Post, и модель тэгов Tag со связями Many-To-Many. У тэгов есть поле prime (0 - не подходит для отображения на главной странице, 1 - подходит). Как можно с наименьшими ресурсозатратами добраться до всех постов, которые связаны с тэгами, которые можно отображать на главной странице? Вот, например подсчёт постов для первого тега:

Tag::where('prime', 1)->first()->posts()->count();

Как можно посчитать (и не только) посты для всех таких тегов? Заранее спасибо.

Не в сети

#2 23.01.2014 13:15:47

Re: Получить связанные Many-To-Many модели сразу для нескольких моделей.

Можно использовать JOIN для упаковки выборки в один запрос:

PHP
Tag::where('prime'1)
  ->
join('posts''posts.tag', ..., ...)
  ->
get()

Внутри join() нужно подставить условие в соответствии с тем, как у вас хранятся теги постов (например, LIKE, если это строка).

Не в сети

Подвал раздела