В Laravel, можно ли переопределить значение для created_at
значений для данной модели Eloquent?
В случае использования у меня есть модель User
со столбцом часового пояса ( например, America/Chicago
). Приложение хранит значения даты в UT C, и для одного пользователя я хотел бы преобразовать дату в соответствующий часовой пояс.
Я пытался использовать getCreatedAtAttribute
, но это не работает.
Я ищу что-то вроде этого.
public function getCreatedAtAttribute($value)
{
$user = auth()->user();
if ($user && $user->timezone) {
$timezone = $user->timezone; // This value can be "America\Chicago"
} else {
$timezone = \Illuminate\Support\Facades\Config::get('app.timezone');
}
$datetime = new DateTime($value);
$datetime->setTimezone(new datetimezone($timezone));
return $datetime;
}