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