如果它在两个不同的日期之间,如何选择今天的日期[重复]
Posted
技术标签:
【中文标题】如果它在两个不同的日期之间,如何选择今天的日期[重复]【英文标题】:How to select today's date if it's between two different dates [duplicate] 【发布时间】:2021-08-31 01:27:46 【问题描述】:我正在尝试根据日期是否介于两个日期、入住日期和退房日期之间来选择今天的日期。
有没有办法使用 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 有点陌生,所以我不太确定如何处理它。
【问题讨论】:
感谢您的回复,但是,这不是我想要的。无论如何,感谢您的建议。 这正是您要找的。 :-( 【参考方案1】: $date = Carbon::now();
$result = Booking::whereRaw('"'.$date.'" between `user_checkin` and `user_checkout`')->get()->toArray();
使用 laravel whereRaw()
希望它对您有帮助。
【讨论】:
我试过这个,它可以工作,唯一的问题是我需要它是包容性的,选择了 user_checkin 的日期,但是没有 user_checkout 的日期,不知道可能是什么造成这种情况? 表示你只有一个日期 - user_checkin? 感谢您的帮助,您的解决方案有效。只需要调整一些参数。再次感谢!以上是关于如果它在两个不同的日期之间,如何选择今天的日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在mysql选择查询中获取两个日期之间的日期列表[重复]