【发布时间】:2023-12-16 12:21:01
【问题描述】:
我是 laravel 的新手。可能是问题与问题不匹配。问题是这样的。我有一对多的数据库表,比如酒店和房间。一间酒店可以有多个房间。我的目标是:
public function edit($id) {
echo $id;
// get the hotel
$data['hotel'] = Hotel::find($id);
$data['rooms'] = Room::where("hotelId", $id)->get();
// show the edit form and pass the hotel
return view('include.middle')->nest('main', 'hotel.edithotel', $data);
}
我正在从房间和酒店的桌子上获取数据。毫无疑问,可以有多个房间。
在视图中。我想获取所有数据以编辑酒店和房间。
editHotel.blade.php
//for hotel
{{ Form::model($hotel, array('route' => array('hotel.update', $hotel->hotelId), 'method' => 'PUT')) }}
//for room. I want to run this in loop so that I can get data to edit for multiple rooms.
{{ Form::model($rooms, array('route' => array('room.update', $rooms->roomId), 'method' => 'PUT')) }}
但我收到错误
Undefined property: Illuminate\Database\Eloquent\Collection::$roomId (View: /Users/apple/hotelbooking/resources/views/hotel/edithotel.blade.php)
我已经在房间和酒店模型中设置了主键。
数据库架构。
Hotel
hotelId | name | address
1 | example hotel somewhere
Room
roomId | hotelId | name | price
1 1 Delux $300
2 1 Economy $100
【问题讨论】:
-
您可以发布您的表格方案。
-
好的。我将编辑问题。
-
您已经找到解决方案了吗?
-
还没有。我想我应该从这个问题开始赏金。
标签: php laravel-5.2 laravel-blade