Aziztwelve
@Aziztwelve
web-разработчик

Как вывести в одном url две модели?

есть 1 макет (welcome.blade.php) и в нем sidebar и main, создал две модели с миграциями: Sidebar и Main и соответственно две таблицы
роут:Route::get('/', 'ContentController@main');
получил content для main:
public function main(Request $request) {
		$mains = Main::all();
		return view('index_hub', ['mains'=>$mains]);

и вставил в макет main
Вопрос: как вставить в макет sidebar из модели(таблицы) Sidebar, ведь роут '/' (т.е один и тот же)?

p.s. попробовал создать контроллер Route::get('/', 'ContentController@sidebar'); но выдает ошибку
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
dima9595
@dima9595
Junior PHP
public function main(Request $request) {
    $mains = Main::all();
    $sidebar = Sidebar::all();

    return view('index_hub', ['mains' => $mains, 'sidebar' => $sidebar]);
}


PS: Если правильно я понял, то вам нужно во view отдать какие-то данные из модели. Если это так, то лучше получать модель в самом view, т.е. прямо берёте модель и выводите во view.
Допустим, view sidebar:
<sidebar>
// тут мб таблица, или просто вывод какой-то определённой инфы.
// тогда просто делаем запрос к модели и выводим
// пример для div таблицы
@foreach(Sidevar::all() as $sidevar)
    <div>{{ $sidebar->name }}</div>
@endforeach
</sidebar>


Если честно, то не особо понял задачу вашу. Если не затруднит, то опишите подробней.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы