Я создаю приложение Laravel. Раньше я проектировал базу данных с типами данных datetime для created_at и updated_at, но мой друг предложил мне использовать метку времени вместо даты и времени, потому что это хорошо для разных часовых поясов.
Это хорошая идея использовать метку времени вместо формата даты и времени? Будут ли проблемы с производительностью? Если «Нет», то как мы можем изменить формат меток времени по умолчанию с даты и времени на метку времени глобально в приложении laravel.
Например (по умолчанию):
$model->created_at = "yyyy-mm-dd h:i-s";
$model->updated_at = "yyyy-mm-dd h:i-s";
Целочисленная временная метка:
$model->created_at = 1523246567;
$model->updated_at = 1523246567;






К сожалению, я не могу ответить на ваши первые два вопроса, но Laravel предоставляет простой способ изменить формат, в котором хранятся ваши даты.
В документации Мутаторы свиданий сказано, что можно установить свойство $dateFormat для вашей модели следующим образом:
/**
* The storage format of the model's date columns.
*
* @var string
*/
protected $dateFormat = 'U';
Формат 'U' будет «Секунды с эпохи Unix». Другие форматы доступны в файле документация даты php.
Вам также необходимо изменить миграцию вашей модели. Замените $table->timestamps(); на $table->unsignedInteger('created_at'); и $table->unsignedInteger('updated_at');.
Чтобы использовать определенный формат даты «глобально», то есть для всех ваших моделей, вы можете либо установить формат даты в базовой модели и позволить всем вашим моделям наследовать эту модель, либо использовать признак. См. пример этот вопрос.