Laravel dd/mm/yyyy 到 yyyy/mm/dd/ 转换,同时使用数据库操作模型


Laravel dd/mm/yyyy to yyyy/mm/dd/ conversion while using Model for DB Operations

这是我的控制器

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) );转换日期格式,但我需要知道在哪里可以执行此操作。

您可以在模型中为此使用突变器(请参阅 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中设置了相同的属性。