@Karpkarp

Как правильно написать маршрут в Laravel?

Сайт открывается по маршруту Route::get('','PostController@index');

Шапка и футер сайта вынесены в одтельный шаблон, куда я уже подключаю остальные части сайта. И тут мне приспичило в футере выводить по 3 записи из блога. Сделал контроллер с методом:
public function index()
    {
        $blogs = Blog::join('users', 'author_id','=', 'users.id')
            ->orderBy('blogs.created_at', 'desc')
            ->limit(3)
            ->get();

        return view('layouts.layout', compact('blogs'));
    }


layouts.layout это и есть тот самый шаблон с шапкой и футером, прописал маршрут Route::get('','FooterBlogController@index'); и он понятно перекрывает первый маршрут.

Попытался перенести метод в PostController, и всё заработало, но, только на главной странице. Когда пытаешься погулять по страницам, вылетает ошибка о неизвестной переменной. В принципе тоже понятно...

Как мне правильно прописать маршрут для вывода записей в футере?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
JhaoDa
@JhaoDa
LaravelRUS Team
Причем тут маршруты? Читаем документацию вообще и про view composer в частности.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@QcfgAlexandr
Если я не ошибаюсь, должно помочь:
Вот это выносим в __construct
$blogs = Blog::join('users', 'author_id','=', 'users.id')
            ->orderBy('blogs.created_at', 'desc')
            ->limit(3)
            ->get();


и добавляем view()->share(['blogs ' => $blogs]);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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