CakePHP counterCache - PullRequest
       7

CakePHP counterCache

0 голосов
/ 22 марта 2010

Я использую counterCache для отслеживания количества глав, которые были опубликованы в связанных историях.

Все это прекрасно работает, за исключением того, что при обновлении поля chapter_count в базе данных измененное поле для этой записи не выполняется.

Можно ли настроить Cake на автоматическое обновление измененного поля при запуске функции counterCache?

Спасибо.

1 Ответ

3 голосов
/ 22 марта 2010

Я полагаю, у вас есть измененное поле в таблице глав?Поведение Cakes по умолчанию заключается в обновлении его для этой конкретной записи.

Вы можете добавить столбец count_modified в таблицу, а затем в своих моделях beforeSave () вы можете назначить текущую временную метку этому и затем сохранить ее.

Что-то вроде, возможно,

function beforeSave(){
  $this->data['Chapter']['count_modified'] = date();
}

, которое должно сохранять этот столбец каждый раз, когда модель выполняет действие сохранения.Вот метод http://api.cakephp.org/class/model#method-ModelbeforeSave и ссылка на книгу http://book.cakephp.org/view/683/beforeSave

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