Итак, у меня есть система бронирования отелей, в которой, когда пользователь нажимает кнопку «Оформить заказ», он должен проверить, существует ли запись. Запись проверена; если он имеет тот же день регистрации в этом конкретном отеле. В настоящее время я могу выбрать даты и отель и go прямо, чтобы проверить без какой-либо проверки. У меня есть две функции (PostsController. php), которые мне нужно сжать в одну, так как я обнаружил, что это будет гораздо проще выполнить, однако я не уверен, как на самом деле это структурировать.
PostsController. php:
public function getAvailability (Request $request) {
$user_id = $request->input('user_id');
$checkIn = $request->input('checkIn');
$checkOut = $request->input('checkOut');
$post = Order::where('user_id', '=', $user_id)
->where ('checkIn', '=', $checkIn)
->where ('checkOut', '=', $checkOut)
->get();
if(count($post) > 0) {
return redirect()->route('posts.shopping-cart')->with('There is a clash');
} else {
return redirect()->route('posts.checkout')->with('There is no clash');
}
}
public function getCheckout(Request $request)
{
if (!Session::has('cart')) {
return view('shop.shopping-cart');
}
$oldCart = Session::get('cart');
$cart = new Cart($oldCart);
$total = $cart->totalPrice;
$checkIn = $request->input('checkIn');
$checkOut = $request->input('checkOut');
return view('posts.checkout', ['total' => $total, 'checkIn' => $checkIn, 'checkOut' =>
$checkOut]);
}
Здесь я хочу, чтобы getAvailability использовалась в getCheckout, IE, я хочу, чтобы getCheckout была моей основной функцией. Также я делаю свою функцию правильно?