如果变量为空,则碳获取当前日期

时间:2017-07-15 12:05:33

标签: php laravel laravel-blade php-carbon

在我的刀片编辑表单中,我有:

<input type="text" name="birth" class="form-control" id="birth" value="{{ \Carbon\Carbon::parse($associado->birth)->format('d/m/Y') }}">

问题是:如果$associado->birth在数据库中为NULL,则Carbon返回当前日期。

我该怎么做才能避免这种情况?

3 个答案:

答案 0 :(得分:3)

您需要检查值是否为null

此外,您可以将birth添加到您的雄辩模型中的$dates数组属性中。

protected $dates = [
    'dates'
];

这将告诉雄辩模型将此列投射到Carbon实例,就像它对created_atupdated_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}}" 值的情况下为空。

希望你明白。