如果它在两个不同的日期之间,如何选择今天的日期[重复]

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选择查询中获取两个日期之间的日期列表[重复]

如何检查今天是不是在 Twig 的两个日期之间?

如何计算今天日期和jquery datepicker之间的日期

如果一个日期包含 null,则在两个日期之间选择