Php Laravel-获得在开始和结束之间有今天的行
我有一个表,它有两个日期字段,Php Laravel-获得在开始和结束之间有今天的行,php,sql,laravel,date,eloquent,Php,Sql,Laravel,Date,Eloquent,我有一个表,它有两个日期字段,begin和end 我正在尝试获取所有已开始但尚未结束的行。如果今天少于开始,则不应包括在内。如果今天比结束时更糟糕,就不应该包括在内 我在用拉维尔斯的口才。这是我试过的 $now = \Carbon\Carbon::now(); $promos = \App\Models\LivePromo:: where("begin", "<=", $now) ->where("end"
begin
和end
我正在尝试获取所有已开始但尚未结束的行。如果今天少于开始
,则不应包括在内。如果今天比结束时更糟糕,就不应该包括在内
我在用拉维尔斯的口才。这是我试过的
$now = \Carbon\Carbon::now();
$promos = \App\Models\LivePromo::
where("begin", "<=", $now)
->where("end", ">=", $now)
//Other conditions
->get();
从结束日期条件中删除
=
:
$now = \Carbon\Carbon::now();
$promos = \App\Models\LivePromo::
where("begin", "<=", $now)
->where("end", ">", $now)
->get();
$now=\Carbon\Carbon::now();
$promos=\App\Models\LivePromo::
其中(“开始”,“现在,$now”)
->get();
从结束日期条件中删除=
:
$now = \Carbon\Carbon::now();
$promos = \App\Models\LivePromo::
where("begin", "<=", $now)
->where("end", ">", $now)
->get();
$now=\Carbon\Carbon::now();
$promos=\App\Models\LivePromo::
其中(“开始”,“现在,$now”)
->get();
此外,它可能取决于您的数据库引擎
某些引擎要求您使用whereDate
()方法,而不是普通的where()
$promos=LivePromo::whereDate(“开始”,“现在$now”)
->get();
此外,它可能取决于您的数据库引擎
某些引擎要求您使用whereDate
()方法,而不是普通的where()
$promos=LivePromo::whereDate(“开始”,“现在$now”)
->get();
=
应该是不起作用的@Farkie。我添加了一个编辑,更好地解释了我试图实现的目标。你能给我们展示一个Carbon::now()
返回的示例和一个不应该返回的行的示例吗?@RaymondAtivie你发布的两条记录都是有效的吗?他们都有一个开始日期
在过去,一个结束日期
在未来?@james我刚刚意识到我的服务器时间比我的客户端时间晚了一个小时。这引起了一些误解。以上代码是有效的。对不起,打扰你们了。我会很快删除帖子,=
应该是@Farkie,这不起作用。我添加了一个编辑,更好地解释了我试图实现的目标。你能给我们展示一个Carbon::now()
返回的示例和一个不应该返回的行的示例吗?@RaymondAtivie你发布的两条记录都是有效的吗?他们都有一个开始日期
在过去,一个结束日期
在未来?@james我刚刚意识到我的服务器时间比我的客户端时间晚了一个小时。这引起了一些误解。以上代码是有效的。对不起,打扰你们了。我很快就会删除帖子
$promos = LivePromo::whereDate("begin", "<=", $now)
->whereDate("end", ">", $now)
->get();