Итак, я знаю, что Laravel сохраняет свои «created_at» и их «updated_at» в качестве объекта Carbon. По крайней мере, каждый раз, я пытаюсь их получить, они возвращаются как Углерод. Поэтому у меня есть объект Carbon, который я хочу сохранить в столбце «premium_until». Теперь, как я должен это делать? Должен ли я делать $table->timestamp('premium_until');
или $table->date('premium_until');
при настройке схемы? Кроме того, могу ли я просто сделать $user->premium_until = $carbonObject;
или мне нужно преобразовать его в строку? Заранее спасибо!Как хранить углеродные объекты в MySQL с помощью Laravel
0
A
ответ
4
Eloquent предлагает удобный способ работы с датами.
Просто определите метод getDates
на вашей модели Eloquent, которая возвращает массив имен столбцов, который должен быть преобразован в Carbon
экземпляров automaticaly by Eloquent!
public function getDates()
{
return array(static::CREATED_AT, static::UPDATED_AT, static::DELETED_AT, 'premium_until');
}
0
Вместо того, чтобы определить метод getDates
, теперь можно установить атрибут вашей красноречивый модели $dates
. Преимущество по сравнению с предыдущим ответом заключается в том, что вам не нужно явно (повторно) определять даты выдачи (например, created_at
):
protected $dates = ['premium_until'];