[英]Problem with the booking calendar in Laravel 8
我在 Laravel 8 中的应用程序上的预订日历有问题。我真的需要帮助:(
按下'book'按钮后,会弹出一个错误:
Illuminate\Contracts\Container\BindingResolutionException 目标 class [前端控制器] 不存在。 http://localhost/testowa7/public/makeReservation/26/5
房间刀片:
<form action="{{ route('makeReservation',['room_id'=>$room->id,'city_id'=>$room->object->city->id]) }}" method="POST">
<div class="form-group">
<label for="dayin">Przyjazd</label>
<input required name="dayin" type="text" class="form-control datepicker" id="dayin" placeholder="">
</div>
<div class="form-group">
<label for="dayout">Wyjazd</label>
<input required name="dayout" type="text" class="form-control datepicker" id="dayout" placeholder="">
</div>
<button type="submit" class="btn btn-primary">Rezerwuj</button>
<p class="text-danger">{{ Session::get('reservationMsg') }}</p>
{{ csrf_field() }}
</form>
路线:
Route::post('/makeReservation/{room_id}/{city_id}','FrontendController@makeReservation')->name('makeReservation');
前端控制器:
public function makeReservation($room_id, $city_id, Request $request)
{
$avaiable = $this->fG->checkAvaiableReservations($room_id,$request);
if(!$avaiable)
{
if(!$request->ajax()) // niepotrzebne bez apki
{
$request->session()->flash('reservationMsg',_('No vanancies'));
return redirect()->route('room',['id'=>$room_id,'#reservation']);
}
return response()->json(['reservation'=>false]); //niepotrzebne bez apki
}
else
{
$reservation = $this->fG->makeReservation($room_id,$city_id,$request);
if(!$request->ajax())
return redirect()->route('adminHome');
else
return response()->json(['reservation'=>$reservation]);
}
}
前端存储库:
public function makeReservation($room_id, $city_id, $request)
{
return Reservation::create([
'user_id' => $request->user()->id,
'city_id' => $city_id,
'room_id' => $room_id,
'status' => 0,
'dayin' => $request->input('dayin'),
'dayout' => $request->input('dayout'),
]);
}
前端网关:
public function checkAvaiableReservations($room_id,$request)
{
$reservations = $this->fR->getReservationsByRoomId($room_id);
$avaiable = true;
foreach($reservations as $reservation)
{
if( $request->input('dayin') >= $reservation->day_in
&& $request->input('dayin') <= $reservation->day_out
)
{
$avaiable =false;break;
}
elseif( $request->input('dayout') >= $reservation->day_in
&& $request->input('dayout') <= $reservation->day_out
)
{
$avaiable =false;break;
}
if( $request->input('dayin') >= $reservation->day_in
&& $request->input('dayout') <= $reservation->day_out
)
{
$avaiable =false;break;
}
}
return $avaiable;
}
public function makeReservation($room_id, $city_id, $request)
{
$this->validate($request, [
'dayin' => "required|string",
'dayout' => "required|string",
]);
return $this->fR->makeReservation($room_id, $city_id, $request);
}
确保将您的FrontendController
class 命名空间导入到您的web.php
文件中。
确保您的 FrontendController 已正确导入
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.