сайт на Лару. Перенес самый простой компонент - Новости (тупо вывод из базы).
Далее хочу взяться за компонент - комментариев. Комментить у меня можно все (разные компоненты).
И вот тут вопрос - как правильно в плане архитектуры переносить компонент комментариев?
Пока мысль такая - есть контроллер Новостей и метод вывода одиночной новости
public function getOne($id, $alias = null)
{
$this->news_one = DB::table('news_items')
->where('id', '=', $id)
->get();
if(empty($this->news_one[0]->id)){
return abort(404);
}
if($this->news_one[0]->alias !== $alias){
return redirect('news/'.$id.'-'.$this->news_one[0]->alias, 301);
}
return view('news_one', ['news_one' => $this->news_one]);
}
Я так понимаю - правильно будет отсюда делать вызов контроллера комментов?
Уффф вообще, правильнее будет так есть жадная загрузка - https://laravel.com/docs/8.x/eloquent-relationships#eager-loading есть связи - комментарии же привязаны к новости? https://laravel.com/docs/8.x/eloquent-relationships#one-to-many А если комментарии могут быть у разных сущностей, то в помощь придут полиморфные связи - https://laravel.com/docs/8.x/eloquent-relationships#polymorphic-relationships
Ух… спасибо, пошел изучать
Красивый котик
и ещё https://laravel.com/docs/8.x/routing
Обсуждают сегодня