Так что в настоящее время в моей системе есть проверка, которая проверит, были ли введены две даты ранее. Если у них есть, пользователь не может перейти к оформлению заказа и c, если у них разные даты, они могут продолжить. Однако проблема, с которой я сталкиваюсь, заключается в том, что эта проверка работает для любого отеля и должна указываться только c для одного отеля, который они бронируют.
Например, если один из отелей забронирован на 18/04 / 2019, и я хочу забронировать отель два на те же дни, проверка не позволит мне проверить, так как даты совпадают. Это неверно, и мне следует указать, что это другой отель, хотя даты совпадают.
Теперь я хочу продолжить и проверить, были ли выбраны один и тот же отель и те же даты, и являются ли они то же самое, тогда мы не можем продолжать. Приведенная ниже функция используется для моей проверки:
public function getCheckout(Request $request)
{
if (!Session::has('cart')) {
return view('shop.shopping-cart');
}
//$post = Post::find($id);
$oldCart = Session::get('cart');
$cart = new Cart($oldCart);
$total = $cart->totalPrice;
$checkIn = $request->input('checkIn');
$checkOut = $request->input('checkOut');
$post = Order::where('checkIn', '=', $checkIn)
->where('checkOut', '=', $checkOut)
->get();
if (count($post) > 1) {
return redirect()->route('posts.shopping-cart')->with('Sorry this date has been taken');
} else {
return view('posts.checkout', ['total' => $total, 'checkIn' => $checkIn, 'checkOut' =>
$checkOut]);
}
}
Теперь проблема в том, что у меня нет пропуска $ id гостиницы. Приведенная ниже функция изначально добавляет мой $ id в корзину, как мне точно добавить $ id в функцию 'getCheckout' и проверить его?
public function getAddToCart(Request $request, $id)
{
$post = Post::find($id);
$cart = Session::has('cart') ? Session::get('cart') : null;
if (!$cart) {
$cart = new Cart($cart);
}
$cart->add($post, $post->id);
Session::put('cart', $cart);
// dd($request->session()->get('cart'));
return redirect()->route('posts.index');
}
Если кто-то может помочь, это будет здорово. Мне просто нужно передать идентификационный номер отеля в мой чек и проверить, совпадают ли даты в отеле, даты заезда и отъезда.