这是我的控制器
public function DriverProcess()
{
$DriverData = Input::all();
$validation = Validator::make($DriverData, DriverModel::$rules);
if ($validation->passes())
{
DriverModel::create($DriverData);
//Rest of Code
这是我的模型
<?php
class DriverModel extends Eloquent
{
protected $guarded = array('DriverName');
protected $fillable = array('DriverName', 'Age', 'Address', 'LicenseNumber', 'DateOfBirth', 'LicenseExpiry' );
在字段DateOfBirth
和LicenseExpiry
我将日期值发送为dd/mm/yyyy
格式
当我发送使用模型DriverModel::create($DriverData);
并使用fillable
时,我不知道将dd/mm/yyyy
转换为yyyy/mm/dd
注意:
我知道将日期格式转换为date("Y-m-d", strtotime($var) );
但是我需要知道我可以在哪里进行此操作。
答案 0 :(得分:3)
您可以在模型中使用mutators(请参阅http://laravel.com/docs/4.2/eloquent#accessors-and-mutators)。在你的情况下,那将是:
public function setDateOfBirthAttribute($value)
{
$this->attributes['DateOfBirth'] = date("Y-m-d", strtotime($value) );
}
作为旁注,您应该只在模型中使用$fillable
或$guarded
。现在,您在$guarded
和$fillable
中都设置了相同的属性。