Почему Laravel предоставляет временные метки по умолчанию? - PullRequest
0 голосов
/ 07 января 2019

Когда мы создаем новую модель или миграцию базы данных в Laravel, мы можем использовать $table->timestamps();, который создает created_at и updated_at по умолчанию. Почему проекту требуются эти поля с точки зрения наилучшей структуры проекта?

Ответы [ 3 ]

0 голосов
/ 07 января 2019

Каждые Model/Records, которые вы вставляете в таблицу, лучше отслеживать время created_at и updated_at. Timestamp варианты использования могут отличаться в зависимости от индивидуальности.

Большинство разработчиков используют метку времени для отслеживания записей в своей базе данных.

Именно поэтому Laravel Eloquent по умолчанию предоставляет опции created_at и updated_at. Всякий раз, когда модель / записи создаются, created_at значение столбца устанавливается автоматически, а при каждом обновлении записи updated_at значение столбца устанавливается на это время автоматически, поэтому разработчику необходимо написать минимальный код для управления временными метками.

Временные метки Laravel являются необязательными. public $timestamps = false; в модели для отключения временной метки.

0 голосов
/ 07 января 2019

create_at и updated_at очень полезны, когда в вашей системе несколько ролей. В моем проекте у меня есть несколько ролей, поэтому я добавил столбцы, такие как updated_by и created_by с laravel's created_at и updated_at, я могу найти дату и время, когда он был создан ИЛИ обновлен, и по моим столбцам created_at и updated_at могу узнать which user created record и which user updated запись.

Также отметка времени laravel automatically update столбец записи во время обновления, поэтому вам не нужно беспокоиться об этом, чтобы написать код для изменения столбца update_at в таблице.

Так что в основном для tracing timestamp очень полезен в вашем проекте.

Если вам не нужно это в каждой таблице, вы можете просто избежать этого, используя нижнюю строку в вашей модели.

public $timestamps = false;

0 голосов
/ 07 января 2019

Всегда полезно знать, когда объект создается или обновляется. Несмотря на то, что я лично предпочитаю создавать разные временные метки для разных целей, например, если у меня есть объект, который обрабатывается асинхронно, я обычно добавляю столбец datetime под названием completed_at, чтобы я знал, когда задание было завершено.

Если вам не нравятся временные метки по умолчанию, вы можете удалить их, назначив public $ timestamps = false; в твоей красноречивой модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...