2016-01-28 4 views
1

В моем приложении Laravel 5.1 у меня есть макет с общим разделом, скажем, боковая панель со списком из 5 последних сообщений сайта. Содержимое раздела является динамическим (разработанным из запроса db), но идентичным на каждой странице веб-сайта.Общие разделы в макете, содержащие данные db

Чтобы получить это, в макете-макете я мог бы @ включить суб-представление, содержащее код боковой панели, но это все равно означало бы повторение одного и того же запроса в каждом действии контроллера, что много повторения кода. Я уверен, что есть более умный способ получить это, но я не мог понять это. Любая помощь могла бы быть полезна.

+0

Я думаю, что вы ищете кэш .. если вы не кэшировать запросы, чем да в каждом запросе там будет Запрос к БД –

ответ

1

Как вы можете see here под подразделами видов, которые вы можете передать данные в заголовочном таких как

@include('view.name', ['some' => 'data']) 

Тогда вам нужно только передать данные в мастер-макет.

EDIT: View Composers то, что вы искали, кажется

+0

Спасибо за ваш ответ. Моя проблема заключается не в передаче данных в макет, а во избежание повторения кода в действии контроллера. Где я должен поставить код запроса так, чтобы он выполнялся при каждом действии конкретного контроллера? – vonblubba

+0

Зачем вам это нужно при каждом действии контроллера? Вы могли бы использовать промежуточное ПО и приложить его таким образом, вы могли бы создать viewcomposer, я уверен, что так оно и будет. – Ian

+0

Я просмотрел композиторов, это именно то, что я искал. Спасибо за совет! – vonblubba

Смежные вопросы