我试图根据日期是否在两个日期、入住日期和退房日期之间来选择今天的日期。
有没有办法使用 MySQL 查询来做到这一点?
我的数据库的结构是这样只保存入住日期和退房日期,
并使用以下代码选择日期,
public function collection() {
return Booking::select(
'id',
'place_id',
'payer_name',
'user_fullname',
'user_email',
'user_phone',
'user_no_of_guest',
'user_no_of_babies',
'user_checkin',
'user_checkout',
'is_approved',
'user_promo',
'user_payment_type',
'user_booking_tracking_id',
Booking::raw('(created_at + INTERVAL 2 HOUR) AS created_at'),
'paid_ammount'
)->where('user_checkin', $this->date)
->get();
}
有没有办法使用 Laravel 查询来选择它?或者我应该创建一个函数来选择一个合适的日期然后调用它?我对 Laravel 有点陌生,所以我不确定如何处理它。
答案 0 :(得分:1)
$date = Carbon::now();
$result = Booking::whereRaw('"'.$date.'" between `user_checkin` and `user_checkout`')->get()->toArray();
使用 laravel whereRaw()
希望它能轻松帮到你。