在我的刀片编辑表单中,我有:
<input type="text" name="birth" class="form-control" id="birth" value="{{ \Carbon\Carbon::parse($associado->birth)->format('d/m/Y') }}">
问题是:如果$associado->birth
在数据库中为NULL,则Carbon返回当前日期。
我该怎么做才能避免这种情况?
答案 0 :(得分:3)
您需要检查值是否为null
。
此外,您可以将birth
添加到您的雄辩模型中的$dates
数组属性中。
protected $dates = [
'dates'
];
这将告诉雄辩模型将此列投射到Carbon
实例,就像它对created_at
和updated_at
一样。如果列null
,它将只返回null。
您的代码将类似于:
{{ $associado->birth ? $associado->birth->format('d/m/Y') : null }}
希望这有帮助!
答案 1 :(得分:1)
在使用Carbon解析之前检查$associado->birth
是否为NULL。
如果它有一个真值,它不是NULL,你可以解析它 - 否则只返回你的值中的set null。
以下是使用三元运算符的示例
value="{{ $associado->birth ? \Carbon\Carbon::parse($associado->birth)->format('d/m/Y') : null}}
然后,当使用这么多逻辑时,它应该放在它自己的功能中。
答案 2 :(得分:1)
您可以使用createFromFormat()
的{{1}}来完成此操作。
Carbon
这将检查存储在数据库中的日期的字符串值,并在value = "{{$associado->birth ? \Carbon\Carbon::createFromFormat('d\m\Y',
$associado->birth)->toDateString() : null}}"
值的情况下为空。
希望你明白。