在修订日期和培训日期之间进行检查

用户11124425

我一直有一个问题在我的支票......如果摩托车是在revision06/09/201911/09/2019了摩托车000001

在此处输入图片说明

在我的表格中Training,我可以添加相同的摩托车07/09/2019

在此处输入图片说明

通常是不可能的

我有这个:

$conflictTraining = Training::where('fk_motorbike', $fk_motorbike)  
        ->whereDate('date_seance', "=" , $date_start)  
        ->where('hour_start', "<=" , $request->get('hour_start')) 
        ->where('hour_end', ">=" , $request->get('hour_end'))
        ->where('fk_former', $request->get('fk_former'))
        ->first();  

        $conflictRevision = Revision::where('fk_motorbike', $fk_motorbike)
        ->whereDate('date_revision_start', "<=" , $date_start)
        ->whereDate('date_revision_end', ">=", $date_start)
        ->where('hour_start', "<=" , $request->get('hour_start'))  
        ->where('hour_end', ">=" , $request->get('hour_end'))
        ->first();

        $conflictFormer = Training::where('fk_former', $fk_former)  
        ->whereDate('date_seance', "=" , $date_start)  
        ->where('hour_start', "<=" , $request->get('hour_start')) 
        ->where('hour_end', ">=" , $request->get('hour_end'))
        ->first();  

        $conflictMotorbike = Training::where('fk_motorbike', $fk_motorbike)  
        ->whereDate('date_seance', "=" , $date_start)  
        ->where('hour_start', "<=" , $request->get('hour_start')) 
        ->where('hour_end', ">=" , $request->get('hour_end'))
        ->first();  


        if(isset($conflictTraining)){
            return redirect()->route('trainings.index')
            ->with('error', 'Duplicate ! ');
        }

        if(isset($conflictRevision)){
            return redirect()->route('trainings.index')
            ->with('error', 'The motorbike is in revision! ');
        }

        if(isset($conflictFormer)){
            return redirect()->route('trainings.index')
            ->with('error', 'Duplicate former ! ');
        }

        if(isset($conflictMotorbike)){
            return redirect()->route('trainings.index')
            ->with('error', 'Duplicate motorbik ! ');
        }

请问你有什么想法吗?

谢谢您的帮助

开曼群岛

问题是您正在查询Revision模型并检查时间是否在 10:00 可用。它是 - 修订直到 12:00 才开始。修订版的时间检查限制了查询 - 您只检查 12:00 和 16:00 之间是否存在冲突,而不管日期是什么IE 因为它在时间 (10:00 !== 12:00) 上查询失败,它无法获得匹配项,因此没有$conflictRevision.

对于快速修复演示,删除查询中的时间检查:它现在应该显示重复/冲突:

 $conflictRevision = Revision::where('fk_motorbike', $fk_motorbike)
    ->whereDate('date_revision_start', "<=" , $date_start)
    ->whereDate('date_revision_end', ">=", $date_start)
    ->first();

您遇到了一些逻辑问题。由于您的修订可能持续几天,而不仅仅是一天,您如何确定冲突时间是否与用户想要安排培训的同一天?如果修订可以停机超过一天,则添加修订时间没有任何意义。我们说的是哪一天在 12:00 到 16:00 之间下跌?

我建议您从修订中删除时间 - 如果我们不知道特定修订时间是哪一天,那么从逻辑的角度来看,尝试与时间进行比较是没有意义的。

一个例外是,如果您说修订在每天 12:00 至 16:00 期间关闭。如果这是某种类型的时间表,其中自行车仅在 12:00 进入,并且每天可用到 12:00,那么修订中的时间是可靠的逻辑,但这意味着您的问题中的查询是允许培训......是正确的(那天自行车正在修改,但直到 12:00)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL查询-无需检索行即可在两个日期之间进行检查

来自分类Dev

在降神会和付款之间进行检查

来自分类Dev

对 Sqlite 和 python 表中的项目进行检查

来自分类Dev

从CheckBox获取值进行检查

来自分类Dev

nicEdit textarea名称进行检查

来自分类Dev

如何对“0”进行检查?

来自分类Dev

用于在晚上10点至上午9点之间进行检查的python脚本

来自分类Dev

Setup Project与Bootstrapper Project进行检查和安装必备组件

来自分类Dev

通过类构造函数了解何时在()和{}初始化中进行检查

来自分类Dev

Semantic-ui复选框和按钮在PHP上进行检查

来自分类Dev

使用函数对AngularJs ng进行检查

来自分类Dev

Javascript对indexOf采取.innerHTML进行检查

来自分类Dev

Linq在创建select之前进行检查

来自分类Dev

每次运行时进行检查的更好编码

来自分类Dev

仅在<选择多个>中进行检查

来自分类Dev

MVC默认根据项目中的值进行检查

来自分类Dev

Drools LHS 根据可选事实进行检查

来自分类Dev

是否可以“暂停”发送消息以进行检查?

来自分类Dev

是否可以进行检查集合存在的查询?

来自分类Dev

雄辩的:检查日期是否在开始日期和结束日期之间

来自分类Dev

加速dplyr管道,包括在较大的表上使用mutate_if和if_else进行检查

来自分类Dev

检查在DropDownList中选择的值,并对照XML值进行检查

来自分类Dev

如何检查值是否在数组中并使用复选框进行检查

来自分类Dev

检查在DropDownList中选择的值,并对照XML值进行检查

来自分类Dev

如何在if条件下对所有检查UITextField进行检查

来自分类Dev

根据修订日期映射映射开始日期和结束日期

来自分类Dev

使用after触发器在父表和子表之间进行T-SQL日期检查

来自分类Dev

如何合并日期并在日期月份下进行检索

来自分类Dev

在乌龟和野兔算法中,为什么我们将野兔向前推进2步并进行检查

Related 相关文章

  1. 1

    MySQL查询-无需检索行即可在两个日期之间进行检查

  2. 2

    在降神会和付款之间进行检查

  3. 3

    对 Sqlite 和 python 表中的项目进行检查

  4. 4

    从CheckBox获取值进行检查

  5. 5

    nicEdit textarea名称进行检查

  6. 6

    如何对“0”进行检查?

  7. 7

    用于在晚上10点至上午9点之间进行检查的python脚本

  8. 8

    Setup Project与Bootstrapper Project进行检查和安装必备组件

  9. 9

    通过类构造函数了解何时在()和{}初始化中进行检查

  10. 10

    Semantic-ui复选框和按钮在PHP上进行检查

  11. 11

    使用函数对AngularJs ng进行检查

  12. 12

    Javascript对indexOf采取.innerHTML进行检查

  13. 13

    Linq在创建select之前进行检查

  14. 14

    每次运行时进行检查的更好编码

  15. 15

    仅在<选择多个>中进行检查

  16. 16

    MVC默认根据项目中的值进行检查

  17. 17

    Drools LHS 根据可选事实进行检查

  18. 18

    是否可以“暂停”发送消息以进行检查?

  19. 19

    是否可以进行检查集合存在的查询?

  20. 20

    雄辩的:检查日期是否在开始日期和结束日期之间

  21. 21

    加速dplyr管道,包括在较大的表上使用mutate_if和if_else进行检查

  22. 22

    检查在DropDownList中选择的值,并对照XML值进行检查

  23. 23

    如何检查值是否在数组中并使用复选框进行检查

  24. 24

    检查在DropDownList中选择的值,并对照XML值进行检查

  25. 25

    如何在if条件下对所有检查UITextField进行检查

  26. 26

    根据修订日期映射映射开始日期和结束日期

  27. 27

    使用after触发器在父表和子表之间进行T-SQL日期检查

  28. 28

    如何合并日期并在日期月份下进行检索

  29. 29

    在乌龟和野兔算法中,为什么我们将野兔向前推进2步并进行检查

热门标签

归档