Laravel - 其中> =不工作

时间:2015-12-01 17:43:56

标签: mysql laravel eloquent

我正在尝试使用以下代码行获取数据库条目:

$hoy = date('YYYY-MM-DD');
$stay = Stay::where('guest', '=', $id )
                    ->where('indate', '<=', $hoy )
                    ->where('outdate', '>=', $hoy )
                    ->get( array( 'id', 'room', 'bed', 'guest', 'booking', 'indate', 'outdate' ) );

问题是,如果我删除outdate >= $hoy行,它就可以了。但有了它,它没有。 我正在尝试检索的行已将其过期设置为2015-12-02,因此它应该返回它。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

看起来这是你的问题:

$hoy = date('YYYY-MM-DD');

如果你想生成像2015-12-02这样的日期,你应该这样做:

$hoy = date('Y-m-d');

来源:http://php.net/manual/en/function.date.php

答案 1 :(得分:0)

此查询要求两个条件都为真。

如果你想在任何一个为真时返回,你应该尝试->orwhere

如果您要求两者都是真的,您需要记住,如果日期上有时间戳,<=的查询只会找到所请求的时间戳为00:00:00的日期日期。