Получение данных из БД в компоненте в Laravel

В классах компонентов можно получать данные из БД и отправлять в представление для отрисовки. Для примера давайте сделаем компонент, динамически формирующий меню сайта. Пусть в этом меню будут ссылки на категории.

Для начала заюзаем модель категорий:

<?php use App\Models\Category; class Nav extends Component { } ?>

Теперь получим список категорий и отравим их в представление:

<?php class Nav extends Component { public function render() { $categories = Category::all(); return view('components.nav', [ 'categories' => $categories, ]); } } ?>

А теперь выведем переданные данные в представлении:

<nav> @foreach ($categories as $category) <a href="{{ $category['slug'] }}">{{ $category['name'] }}</a> @endforeach </nav>

Сделайте компонент, выводящий ссылки на 5 самых популярных постов.