我是Laravel的新手,我正在用它创建一个预订系统。现在,我想问一下如何使用Eloquent从数据库获取数据的方法是否更短/正确。我需要显示一系列选择房间的数据。(screenshot- I will hide the other select using jQuery based on the selected option on the first 2 drop downs. I don't want to use AJAX for this)。
现在我正在做的是将不同的数组从控制器传递到刀片:
$rooms = Room::where('Availability',0)->get();
$room_types = Room::distinct()->select('RoomType')->get();
$floor_nos = Room::distinct()->select('FloorNo')->get();
但是我不知道如何根据房间类型和楼层号对它们进行分组: 这是我的数据:
Room Type - Bedspace
Floor No - 1
Room Nos [BS201, BS202, BS203, BS301,BS302,BS303, FR201, FR301(3rd Floor Family Rooms)]
Each Room No has Bed Nos. [BS201(1-UPPER, 2-UPPER),BS202(1-UPPER,2-UPPER)]
我需要证明这一点:
First dropdown - Room Types
Second dropdown - Floor Nos
Third dropdown - Room Nos
Fourth dropdown - Bed Nos
因此,当我选择“房间类型床位”和“第2楼”时,第三个选择下拉列表将为BS201, BS202, BS203
。如果我选择家庭房,并选择3楼,则第三个选择下拉列表将为FR201
,然后如果我选择FR201
,则床号应为1-UPPER
(此处的值应为是那张床的ID号)
编辑:我的房间表的屏幕截图:http://prntscr.com/mac4o9
答案 0 :(得分:0)
我建议您创建三个下拉列表
对于Ajax,您可以使用以下代码
jQuery( ajax {
url: '{!! route('frontend.get-room-types') !!}',
method: 'POST',
dataType: 'JSON',
data: {
selectedRoom: document.getElementById("selectedRoom").value
},
success: function(data)
{
//Set Options for Room Type.
},
error: function(data)
{
alert("Something went Wrong");
}
})
这样,您可以通过Ajax调用获取最新数据。