@guillermo
Timestamps в Laravel используются для автоматической установки значений даты создания и обновления записи в базе данных при сохранении модели. Обычно они представляют собой два поля: created_at
и updated_at
.
Чтобы использовать timestamp в Laravel, нужно в модели указать public $timestamps = true;
. Также необходимо добавить поля created_at
и updated_at
в таблицу в базе данных. Эти поля должны быть типа timestamp
.
Пример:
1 2 3 4 5 6 7 8 |
class User extends Model { public $timestamps = true; protected $fillable = [ 'name', 'email', 'password', ]; } |
При сохранении модели Laravel автоматически устанавливает значение поля created_at
на текущую дату и время, а значение поля updated_at
обновляется при каждом сохранении.
Если вы хотите изменить формат даты и времени, вы можете использовать свойство $dateFormat
в модели:
1 2 3 4 5 6 7 8 9 10 |
class User extends Model { public $timestamps = true; protected $dateFormat = 'U'; protected $fillable = [ 'name', 'email', 'password', ]; } |
В этом примере мы установили формат даты и времени для created_at
и updated_at
в Unix-время.
Если вам нужно использовать только одно поле updated_at
и не хотите, чтобы Laravel устанавливал значение поля created_at
, вы можете установить $timestamps = false
и вручную управлять этими полями:
1 2 3 4 5 6 7 8 |
class User extends Model { public $timestamps = false; protected $fillable = [ 'name', 'email', 'password', ]; } |
Теперь вы должны явно указать значение для поля updated_at
при сохранении модели:
1 2 3 4 5 6 7 |
$user = new User([ 'name' => 'John Doe', 'email' => 'john.doe@example.com', 'password' => bcrypt('secret'), ]); $user->updated_at = now(); $user->save(); |
Это все, что вам нужно знать, чтобы работать с timestamp в Laravel.