Я использую cacheCounter
в CakePHP
, который увеличивает счетчик для связанных полей.
Пример: у меня есть таблица Person a Source table. Person.source_id отображает строку в таблице Source. У каждого человека есть один Источник, и каждый Источник не имеет ни одного или нескольких строк Лица.
cacheCounter
отлично работает, когда я меняю значение источника на человека. Он увеличивает Source.Person_Count
. Круто.
Но когда он увеличивается, он добавляет его в источник назначения для человека, но не удаляет его из старого значения. Я пробовал updateCacheControl()
в afterSave
, но ничего не сделал.
Итак, я написал код в моей модели для afterSave
, который вычитал бы источник source_id, но он всегда делал это, даже когда я даже не менял source_id
. (Таким образом, счет пошел отрицательно).
Мой вопрос: есть ли способ определить, было ли поле изменено в модели в CakePHP
?