Laravel 4 Laravel-保存前转换输入日期格式

Laravel 4 Laravel-保存前转换输入日期格式,laravel-4,php-carbon,Laravel 4,Php Carbon,我正在尝试将日期输入转换为正确的mysql格式。 我的开始日期字段的格式为MM dd,yyyy 在我的控制器存储功能中,我获取所有用户输入,包括开始日期和保存 $userProfileData->save(); 我想我能做的是让我们在这样保存之前转换开始日期 $userProfileData->start_date->toDateString(); 我在一个非对象错误上调用了成员函数toDateString()。您会得到一个非对象错误,因为start\u date不是方法为

我正在尝试将日期输入转换为正确的mysql格式。 我的开始日期字段的格式为MM dd,yyyy

在我的控制器存储功能中,我获取所有用户输入,包括开始日期和保存

$userProfileData->save();
我想我能做的是让我们在这样保存之前转换开始日期

$userProfileData->start_date->toDateString();

我在一个非对象错误上调用了成员函数toDateString()。

您会得到一个非对象错误,因为start\u date不是方法为toDateString()的对象

您可以在模型中使用setStartDateAttribute()方法,每次都会调用该方法以获取开始日期属性值,在该方法中,您可以修改该值,以便模型将使用更新后的值进行编辑或更新之类的操作,如下所示

public function setStartDateAttribute($value) {
      $this->attributes['start_date'] = date('Y-m-d', strtotime($value) );
}

当您的模型需要获取start_date属性的值时,将使用以下方法此方法必须写入模型中

您将获得非对象错误,因为start_date不是方法为toDateString()的对象

您可以在模型中使用setStartDateAttribute()方法,每次都会调用该方法以获取开始日期属性值,在该方法中,您可以修改该值,以便模型将使用更新后的值进行编辑或更新之类的操作,如下所示

public function setStartDateAttribute($value) {
      $this->attributes['start_date'] = date('Y-m-d', strtotime($value) );
}

当您的模型需要获取开始日期属性的值时,将使用以下方法此方法必须写入模型中

通过将此方法添加到我的用户控制器存储函数中,我可以转换日期格式

$userProfileData->start_date = date('Y-m-d', strtotime($userProfileData->start_date));

通过将其添加到我的users controller store函数中,我可以转换日期格式

$userProfileData->start_date = date('Y-m-d', strtotime($userProfileData->start_date));

我能弄明白这一点$开始日期=日期('Y-m-d',strotime($userProfileData->开始日期));我能弄明白这一点$开始日期=日期('Y-m-d',strotime($userProfileData->开始日期));我将其添加到我的用户模型中,但它没有转换开始日期。我是否需要以某种方式在我的控制器存储函数中调用它?@Northify因为您必须将开始日期添加到模型$fillable属性中,它要求该字段是可批量分配的。我将其添加到我的用户模型中,但它没有转换开始日期。我是否需要以某种方式在我的控制器存储函数中调用它?@Northify因为您必须将开始日期添加到模型$fillable属性中,它要求该字段是可批量分配的