2013-12-11 47 views
3

我有一个记录列表中有一个日期(如11/5/2013,这是一个MDY格式),但日期是VARCHAR字段。最近30天的雄辩选择记录形式

我想选择过去30天内的所有记录,但不知道如何将它们转换为日期格式,因为我在日期字段中获得了空值。

我正在使用Laravel和雄辩的ORM,我该如何做到这一点?

回答

11

您需要在模型中使用访问器。

假设您的表中有一个dates字段。

public function getDatesAttribute($value) 
    { 
    $this->attributes['dates'] = Carbon::createFromFormat('m/d/Y', $value); 
    } 

上述函数将字符串的日期转换为碳对象。默认情况下,Laravel支持Carbon。

从你控制器现在:

$test = Test::where('dates', '>=', Carbon::now()->subMonth())->get(); 

我没有测试的代码,但应该工作。 :)