Освоение Laravel: изменение полей временных меток по умолчанию стало проще

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

Метод 1: изменение файлов миграции
Один из самых простых способов изменить поля временных меток по умолчанию — напрямую изменить файлы миграции. По умолчанию Laravel включает поля меток времени created_atи updated_atв файл миграции для каждой таблицы. Чтобы изменить эти поля или добавить собственные поля меток времени, выполните следующие действия:

  1. Найдите файл миграции, связанный с таблицей, которую вы хотите изменить. Обычно он находится в каталоге database/migrations.
  2. Откройте файл миграции и найдите вызов метода timestamps()в функции up(). Этот метод создает поля created_atи updated_atпо умолчанию.
  3. Чтобы удалить поля временных меток по умолчанию, просто удалите вызов метода timestamps().
  4. Чтобы добавить настраиваемые поля временных меток, вы можете использовать метод dateTime(). Например, чтобы добавить поле deleted_at, используйте $table->dateTime('deleted_at')->nullable();.

Метод 2: использование моделей Eloquent
Eloquent ORM от Laravel предоставляет удобный способ работы с записями базы данных. Вы можете настроить поля меток времени по умолчанию на уровне модели, используя свойство $timestamps. Вот как:

  1. Откройте соответствующий файл модели Eloquent, расположенный в каталоге app/Models.
  2. Добавьте или измените свойство $timestampsв классе модели. По умолчанию установлено значение true, что позволяет использовать временные метки created_atи updated_at. Чтобы отключить временные метки по умолчанию, установите для $timestampsзначение false.
  3. Если вы хотите добавить настраиваемые поля меток времени, укажите их в свойстве $dates. Например, чтобы добавить поле deleted_at, добавьте 'deleted_at'в массив $dates.

Метод 3: использование Fluent Query Builder
Fluent Query Builder в Laravel позволяет писать запросы к базе данных, используя плавный, цепочный интерфейс. Вы можете использовать его для изменения полей временных меток по умолчанию на лету. Вот как:

  1. При запросе к таблице используйте метод select(), чтобы указать столбцы, которые вы хотите получить.
  2. Чтобы исключить поля временных меток по умолчанию, опустите их при вызове метода select(). Например, $users = DB::table('users')->select('id', 'name')->get();.
  3. Чтобы включить настраиваемые поля временных меток или изменить существующие, используйте метод selectRaw(). Например, $users = DB::table('users')->selectRaw('id, name, updated_at as last_updated')->get();.

Следуя любому из этих методов, вы можете легко изменить поля меток времени по умолчанию в Laravel в соответствии с потребностями вашего конкретного проекта. Предпочитаете ли вы изменять файлы миграции, использовать модели Eloquent или использовать Fluent Query Builder, Laravel обеспечивает гибкость и простоту управления полями временных меток.