首页 > 解决方案 > 计划使用 Laravel?

问题描述

我有一个名为“Motorbike”的表,其中包含字段(预科'、'number_motorbike'、'status')。

我有另一个名为“Revision”的表,其中包含字段('date_revision_start'、'date_revision_end'、'garage'、'fk_motorbike')。

目标是,如果摩托车正在修订中,它必须(自动)不可用......

它几乎可以工作!因此,摩托车状态的修改仅在“今天”日期自动更改

在此处输入图像描述

在此处输入图像描述

但是,对于从 02/08/2019 到 06/08/2019 的日期,我有一个问题。什么时候,我们将在 2019 年 2 月 8 日或 2019 年 6 月 8 日,摩托车的状态始终可用......通常,它必须不可用。

你能帮我解决这个问题吗?

$motorbikes = Motorbike::oldest()->paginate(5);
$revisionId = Revision::where('date_revision_start', "<=" , Carbon::now())->where('date_revision_end', ">=", Carbon::now())->pluck('fk_motorbike')->toArray();

谢谢您的帮助。

标签: laravellaravel-5

解决方案


我想我明白你在问什么,如果你在查询没有产生正确的日期时遇到问题,我可以看到你非常接近。

如果您的模型中的日期设置为dates

protected $dates = [
    'date_revision_start',
    'date_revision_end'
];

建议你使用whereDate拉取查询的方法。所以,像这样:

$now = Carbon::now();
$revisionId = Revision::whereDate('date_revision_start', "<=" , $now)->whereDate('date_revision_end', ">=", $now)->pluck('fk_motorbike')->toArray();

查询构建器方法whereDate应该可以很好地为您提供一个很好的匹配自行车进行修订(进入变量$revisionId)。希望这会有所帮助。


推荐阅读