在我的Laravel 5.8应用程序中,我有一个包含迄今为止的模型:重新提交和截止日期。两者都是可为空的(在迁移中,因此在当前SQL数据库中),并且在模型本身中都设置为$dates = ['resubmission', 'deadline']
。我在数据库中有500个模型集,这些模型将重新提交设置为将来的某个日期。但是,出于测试目的,我运行了查询(update <tablename> set resubmission=null, deadline=null
),以便所有模型现在在其resubmission
和deadline
字段中均具有NULL值。
听起来还算公平,但是$model->resubmission
是今天-我返回了一个有效的日期字符串,引用了今天的日期。 deadline
的情况也是如此,我不知道为什么会这样,因为Laravel(据我所知)没有缓存数据库本身,因此我真的很想知道这些日期是从哪里来的。当然,我需要返回的是NULL值。
我用谷歌搜索,但找不到与这种情况下发生的事情有关的任何东西。寻找支持。
答案 0 :(得分:0)
如果记录是数据库中的null
,并且您不覆盖这些列的访问器,则应该获取null
值。
例如,在模型中具有getRessubmissionAttribute()
并使用null
来解析具有Carbon
值的日期将返回今天的日期。