У меня такое чувство, что здесь может быть что-то, чего мне не хватает, но я все равно пойду сюда.
Учтите это: у меня есть класс 'Booking', в котором есть поле user_id и поведение Versionable, и я запускаюследующий код:
$booking = new Booking();
$booking->user_id = 1;
$booking->isValid();
$booking->user_id = 2;
$booking->save();
В результате правильная запись будет вставлена в таблицу бронирования.НО запись, вставленная в таблицу booking_version, устарела!Для user_id установлено значение 1, поскольку данные извлекаются из инициатора событий, который был создан во время первого вызова isValid ().Кроме того, поле id установлено в 0 по той же причине (что означает, что запись версии не может быть связана с бронированием)
Я могу обойти эту проблему, вызвав $ booking-> clearInvokedSaveHooks () до того, какsave (), но я действительно не хочу этого делать, потому что я не хочу снова запускать все свои хуки сохранения при сохранении.
Есть ли лучший способ обойти это?