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

Carbon get current date if variable is null

在我的 blade 编辑表单中,我有这个:

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

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

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

在使用 Carbon 解析之前检查 $associado->birth 是否为 NULL。

如果它有一个真值,它不是 NULL,您可以解析它 - 否则只需 return 在您的值中设置 null。

这是一个使用三元运算符的例子

value="{{ $associado->birth ? \Carbon\Carbon::parse($associado->birth)->format('d/m/Y') : null}}

再说一次,当使用这么多逻辑时,应该把它放在它自己的函数中。

您需要检查该值是否为 null

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

protected $dates = [
    'dates'
];

这将告诉 eloquent 模型将此列转换为 Carbon 实例,就像它对 created_atupdated_at 所做的那样。如果列 if null 它将只是 return null。

您的代码将类似于:

{{ $associado->birth ? $associado->birth->format('d/m/Y')  : null }}

希望对您有所帮助!

您可以使用 Carbon 中的 createFromFormat() 来完成。

value = "{{$associado->birth ? \Carbon\Carbon::createFromFormat('d\m\Y',
          $associado->birth)->toDateString() : null}}"

这将检查存储在数据库中的日期字符串值,如果 Null 值则为空。

希望你明白。