У меня есть пользовательская таблица со столбцом часового пояса.
Я хочу установить все функции часового пояса контроллера на основе пользовательских настроек. Поэтому, когда он вошел в систему, все,
Ex. ChatMessage :: где (….) -> Get ();
created_at
* edited_at
будет изменено. Я только хочу, чтобы на GET менялись. Не POST
,
я пробовал Config::set('app.timezone', Auth::user()->timezone);
это не работает, он все еще использовал Laravel app/config.php
Может быть, не очень чистое решение, но это должно работать вместо набора настроек.
date_default_timezone_set(Auth::user()->timezone);
Я добавил это на моей модели, я думаю, что это единственный способ.
public function getCreatedAtAttribute($value)
{
if(Auth::user()) {
$date = Carbon::createFromFormat('Y-m-d H:i:s', $value);
$date->setTimezone(Auth::user()->timezone ?: "UTC");
return $date->toDateTimeString();
} else {
return $value;
}
}