#php #laravel #backend #laravel-8
Вопрос:
Я новичок в Laravel, я хочу отобразить меню для каждого ресторана из базы данных, список ресторанов находится в домашнем разделе, и в каждом ресторане должно быть другое меню
web.php:
Route::get("/Menu/", [HomeController::class, "menu"]);
Домашний контролер:
public function menu()
{
$data=DB::table('restaurants_menu')
->select('*')
->get('*');
return view('restaurant_menu',compact('data'));
}
restaurant_menu.blade.php :
<div class="menu-container">
@foreach($data as $data)
<div class="box" >
<div class="box-img">
</div>
<img src="{{$data->food_image}}" alt="" height="200">
<h2>{{$data->food_name}}</h2>
<h2>{{$data->menu_id}}</h2>
<h3>{{$data->food_description}}</h3>
</div>
Комментарии:
1. У вас уже налажены отношения ? Как вы хотите отображать каждое меню, все на странице «главная»? Есть ли у каждого ресторана отдельная страница, на которой вы показываете дополнительную информацию о ресторане вместе с его меню? С чем именно у вас возникли проблемы?
2. У меня есть две таблицы в базе данных, первая из них-рестораны ( содержит название, местоположение, описание и идентификатор ресторана), вторая таблица-это меню ресторана (содержит имя еды, изображение еды, описание еды, цену еды, имя ресторана и идентификатор меню, который равен идентификатору ресторана из первой таблицы ) моя проблема в том, что при отображении меню в ресторанах будет отображаться все меню, я хочу отобразить конкретное меню для каждого ресторана, я буду очень признателен за вашу помощь
3. Настройте [отношения]( отношения ) между рестораном и его меню, тогда у меня был бы маршрут, подобный
/Menu/{id}
указанию на один ресторан/меню. В методе для одного ресторана вы можете получить его меню с помощьюid
параметра из маршрута.restaurant_name
на самом деле не требуется в вашей таблице меню, так как она уже находится в вашем ресторанном столе