@grizlibizli

Как правильно составить запрос к БД Laravel 5.6.?

Допустим у меня есть Таблица "Новости" , таблица "категории" и промежуточная таблица "Категории новости"
Как мне сделать запрос что бы получить все новости по одной конкретной категории.
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 2
@mShpakov
Настраиваете связи и делаете $category->news

Подробнее тут
https://laravel.com/docs/5.6/eloquent-relationship...
Ответ написан
ubukulov
@ubukulov
Веб-разработчик
Таблица Новости примерно так. news(id, title, ...)
Таблица Категории categories(id, title)
Таблица category_news(id, category_id, news_id)

В модели Category пишешь метод news

public function news(){
      $news_ids =  $this->hasMany("\App\CategoryNews", "category_id", "id"); // тут получаешь ид всех новостей с таблицы category_news
      $ids = "";
      foreach($news_ids as $item){
            $ids .= $item->news_id . ",";
      }
      $ids = rtrim($ids, ",");
      $news = DB::select("SELECT * FROM news WHERE id IN($ids)");
      return $news;
      
}

как-то так. Попробуйте!
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы