使用Model for DB Operations时,Laravel dd / mm / yyyy到yyyy / mm / dd /转换

时间:2014-12-23 13:21:45

标签: php date laravel laravel-4 model

这是我的控制器

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' );

在字段DateOfBirthLicenseExpiry

我将日期值发送为dd/mm/yyyy格式

当我发送使用模型DriverModel::create($DriverData);并使用fillable时,我不知道将dd/mm/yyyy转换为yyyy/mm/dd

的位置

注意:

我知道将日期格式转换为date("Y-m-d", strtotime($var) );但是我需要知道我可以在哪里进行此操作。

1 个答案:

答案 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中都设置了相同的属性。