Задать вопрос
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 Простой 1 комментарий
Решения вопроса 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>


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

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

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