【发布时间】:2020-08-10 01:02:21
【问题描述】:
我使用 Angular 作为前端,在 laravel 中发送到 post 的参数是对象数组。我想在不使用循环的情况下插入大量元素。有可能吗??如果是,我该如何实现??
Php 中的 RoomAvailability 控制器
public function storeRoomAvailability()
{
$roomId = request();
$test = RoomAvailability::where('room_id', $roomId->room_id)->get();
if (is_null($test)) {
return response()->json([
'success' => false,
'message' => 'The room is already taken'
]);
} else {
$roomAvailability = RoomAvailability::create([$this->validateRequest()]);
return response()->json([
'success' => true,
'message' => 'Room Availability has been created successfully.',
'data' => $roomAvailability
]);
}
}
private function validateRequest()
{
return request()->validate([
'room_id' => 'required |unique:room_availabilities',
'reservation_id' => 'nullable',
'booking_id' => 'required',
'check_in_date' => 'required',
'check_out_date' => 'required'
]);
}
Angular 8 的参数
[
{
"reservation_id": 25,
"room_id": 1,
"check_in_date": "2020-04-27 12:00:00",
"check_out_date": "2020-04-30 12:00:00",
"availability": false,
"status": "booked",
"booking_id": 26
},
{
"reservation_id": 26,
"room_id": 2,
"check_in_date": "2020-04-27 12:00:00",
"check_out_date": "2020-04-30 12:00:00",
"availability": false,
"status": "booked",
"booking_id": 26
}
]
【问题讨论】:
-
您的代码当前是否有效?我不明白
$roomId = request();。你的代码有效吗? -
您可以使用insert () 方法一次执行数组的批量插入,如果您的数组处于完美状态,那么是的,您可以在没有循环的情况下插入它(我不建议这样做一些验证等)
-
@ChristopheHubert 是的,代码运行良好
-
谢谢@AnujShrestha.. 我会努力的
-
你使用
insert()了吗?您还需要更改验证以使用数组????
标签: php arrays laravel eloquent