0

所以,我知道 Laravel 将它们的“created_at”和它们的“updated_at”存储为 Carbon 对象。至少,每次我尝试获取它们时,它们都以碳的形式返回。所以我有一个 Carbon 对象,我想将它存储在我的“premium_until”列中。现在,我应该怎么做呢?我应该做$table->timestamp('premium_until');还是$table->date('premium_until');在设置架构时做?另外,我可以做$user->premium_until = $carbonObject;还是必须将其转换为字符串?提前致谢!

4

2 回答 2

4

Eloquent 提供了处理日期的便捷方式。
只需getDates在 Eloquent 模型上定义方法,该方法返回列名数组,这些列名应该Carbon由 Eloquent 自动转换为实例!

public function getDates()
{
    return array(static::CREATED_AT, static::UPDATED_AT, static::DELETED_AT, 'premium_until');
}
于 2013-12-02T08:25:52.300 回答
0

getDates现在可以$dates在 Eloquent 模型上设置属性,而不是定义方法。与上一个答案相比的优点是您不需要显式(重新)定义 Eloquent 日期(例如,created_at):

protected $dates = ['premium_until'];
于 2015-09-15T10:01:20.917 回答