@YakushinIlya

Laravel как сделать выборку многие ко многим публикации в странах?

Здравствуйте!
Есть таблица posts (id, title), есть таблица country(id, title) и есть связывающая таблица postcountry(post_id, country_id).
Необходимо вывести id, title из таблицы country, id которые находятся в postcountry и сортировать их по количеству post_id.
То есть, каждый пост публикуется от определенной страны, может быть и 100 постов от одной страны и 200 от другой. Нужно вывести название стран в которой есть опубликованные посты и сортировать эти названия по количеству публикаций (не плохо бы это количество тоже вывести) и чтоб названия стран не повторялись.
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 1
@jazzus
В контроллере
Country::withCount('posts')
       ->with('posts')
       ->orderByDesc('posts_count')
       ->get();

Во вьюхе
{{$country->posts_count}}
@foreach ($country->posts as $post)
     {{$post->title}}
@endforeach
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы