Каков предпочтительный способ автоматического обновления поля даты и времени в Laravel Eloquent - PullRequest
0 голосов
/ 16 мая 2019

У меня есть таблица с 3 полями datetime: 1. created_at (генерируется и обрабатывается Laravel), 2. updated_at (генерируется и обрабатывается Laravel), 3. custom_date (созданный мной, он будет меняться каждый раз при изменении created_at или updated_at).

Я бы хотел, чтобы каждый раз, когда создавалась новая запись или изменялись первые два поля, custom_date обновлялся с помощью обратного вызова. Как этого добиться, используя Eloquent в Laravel 5.7?

Я уже пытался использовать мутатор, но я бы избегал его, потому что я буду обновлять поле каждый раз, когда created_at или updated_at будут изменены.

1 Ответ

0 голосов
/ 17 мая 2019

Вы должны выполнить настройку файла миграции следующим образом:

$table->timestamp('custom_date')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));

Таким образом, поле custom_date будет обновлено:

1.) Когда строка будет созданавместе с полем created_at (в приложении laravel).

2.) Когда строка была обновлена ​​вместе с полем updated_at (в приложении laravel).

3.) КогдаВы внесли любые изменения непосредственно в базу данных.

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