Laravel 拉威尔的计划?

Laravel 拉威尔的计划?,laravel,laravel-5,Laravel,Laravel 5,我有一个名为“Motorbike”的表,表中有as字段(入学、摩托车编号、状态) 我有另一个名为“Revision”的表,其中包含as字段(“date\u Revision\u start”、“date\u Revision\u end”、“garage”、“fk\u motorbike”) 目标是,如果摩托车正在修改,它必须(自动)不可用 它几乎可以工作!因此,摩托车状态的修改仅在“今天”自动更改 但是,从2019年8月2日到2019年8月6日,我有一个问题。2019年8月2日或2019年

我有一个名为“Motorbike”的表,表中有as字段(入学、摩托车编号、状态)

我有另一个名为“Revision”的表,其中包含as字段(“date\u Revision\u start”、“date\u Revision\u end”、“garage”、“fk\u motorbike”)

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

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

但是,从2019年8月2日到2019年8月6日,我有一个问题。2019年8月2日或2019年8月6日,摩托车的状态始终可用正常情况下,它必须不可用。

你能帮我解决这个问题吗

$motorbikes = Motorbike::oldest()->paginate(5);
$revisionId = Revision::where('date_revision_start', "<=" , Carbon::now())->where('date_revision_end', ">=", Carbon::now())->pluck('fk_motorbike')->toArray();
$motorbikes=摩托车::最古老的()->分页(5);
$revisionId=Revision::where('date_Revision_start',“=”,Carbon::now())->Pulk('fk_摩托车')->toArray();

谢谢您的帮助。

我想我理解您的要求,如果您在查询中没有给出正确的日期,我可以看出您非常接近

如果型号中的日期设置为
日期

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();
$now=Carbon::now();
$revisionId=Revision::whereDate('date_Revision_start',“=”,$now)->Pull('fk_摩托车')->toArray();

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

谢谢,所以我不得不等待,明天看看它是否有效?^2019年8月30日至2019年8月31日的AAA001摩托车将于2019年9月2日自动上市,例如?呵呵,不一定。您可以尝试将
$now
变量转换为类似
Carbon::tomory()
或任何其他日期来测试它。IE欺骗now部分,用不同的日期测试它是否有效。或者增加一周时间,看看AAA001自行车下周是否不再进行修订:
now=Carbon::now()->addWeek()对不起,我删除了我的邮件,多亏了你,我的问题才得以解决。:-)你认为如果我为自行车AAA0001添加日期从2019年1月1日到2019年1月4日,然后我总是为同一辆自行车添加日期从2019年1月2日到2019年1月3日,我可以有一个验证系统说它已经“不可用”?是的,我认为是这样。我认为这可以用非常类似于我们这里的代码来完成。我认为最简单的方法是通过独立获取第二辆自行车的输入日期并与两个查询进行比较来进行验证,用第二辆自行车的开始日期替换
$now
,然后用第二辆自行车的结束日期替换
$now
。尝试一下,但我认为您可以使用与上面非常类似的代码来实现这一点。您还需要检查自行车的FK是否与正在进行修改的FK相同。好的,我明天早上试试。非常感谢你的帮助。祝你度过一个美好的夜晚。