我有一个名为reserved_at的自定义日期字段,我在schema中将其设置为nullable。由于它是一个日期字段,我自然希望它是一个Carbon示例,所以在模型中我将此属性推送到$dates数组。为了能够通过request('reserved_at')输入从控制器设置它,我必须在模型中设置一个mutator。所以我设置了一个mutator,如下所示:
public function setReserveddAtAttribute($date){
$this->attributes['reserved_at'] = Carbon::parse($date);
}
如何将日期字段设置为空,以便当用户将输入字段留空时,reserved_at字段不会设置为当前时间戳?
解决我的问题的代码块
3条答案
按热度按时间ki1q1bka1#
如果我理解得很好,您希望在用户不提供任何日期时将
called_at
设置为null,对吗?如果是这种情况,则可以像下面的示例那样执行此操作
使用此三元运算符,您将检查
$date
是否不为空,如果不为空,则called_at
将具有$date
的值,如果$date
为空,则called_at
的值也相同rqqzpn5f2#
对于Laravel 8及更高版本,
$dates
属性已弃用,您可以只使用$casts
键。它会自动处理日期到Carbon示例的转换。nwsw7zdq3#
试试这个: