在Eloquent
查询结果(模型)中,每个date
字段都是一个碳对象,这意味着,如果您查询包含任何timestamp
字段的模型created_at
,updated_at
(基本上是timestamps()
在迁移期间使用创建的)和deleted_at
,Laravel
将它们转换为Carbon
对象,您可以使用任何公共方法Carbon
, 例如:
$user = User::find(1);
// '2014-04-20 19:02:09' will become 'Apr 20, 2014'
$user->created_at->toFormattedDateString();
因此,您可以直接在模型中可用的字段Carbon
上使用任何公共方法。timestamp
如果你试试这个:
dd($user->created_at);
然后输出将是:
object(Carbon\Carbon)[456]
public 'date' => string '2014-04-20 19:02:09' (length=19)
public 'timezone_type' => int 3
public 'timezone' => string 'UTC' (length=3)
所以,如果你想format
约会,你可以使用:
// outputs like: 'Sunday 20th of April 2014 07:02:09 PM'
$user->created_at->format('l jS \\of F Y h:i:s A')
更新:
如果你想改变这种行为,这意味着,如果你想告诉Laravel
,哪些字段应该自动转换为Carbon
对象,那么你可以通过在你的模型中创建一个方法来覆盖它:
public function getDates()
{
// only this field will be converted to Carbon
return array('updated_at');
}
getDates
要完全禁用日期突变,只需从方法中返回一个空数组。有关更多详细信息,请查看网站上的Date MutatorsLaravel
。