В cakephp - могу ли я противостоять моделям, связанным с Cache? например: Пользователь -> Профиль

У меня есть поле member_count в моей таблице countries.

Profile принадлежит Country

counterCache => 'member_count',
counterScope => array( 'Profile.country => 'US' )

Итак, когда пользователь запускает сохранение на $this->User->Profile->save( $this->data), я хотел бы обновить counterCache в Country.

Возможный?


person Barry Chapman    schedule 07.06.2011    source источник
comment
Да, пробовал разными способами.   -  person Barry Chapman    schedule 08.06.2011


Ответы (2)


Барри, это не указано в качестве параметра отношения hasMany в документация

Я полагаю, вы могли бы кешировать представление с результатами стран и их количеством профилей, чтобы сэкономить немного производительности в качестве альтернативы.

person Leo    schedule 07.06.2011

Пожалуйста, еще раз просмотрите документацию, чтобы убедиться, что вы сделали Все в порядке.

Ваша модель профиля должна выглядеть так:

function Profile extends AppModel {
    $name = 'Profile';
    var $belongsTo = array(
        'Country' => array(
            'counterCache' => 'member_count'
        )
    );
}
person Tim    schedule 08.06.2011