{"action":"created","issue":{"url":"https://api.github.com/repos/Chiliec/yii2-vote/issues/17","labels_url":"https://api.github.com/repos/Chiliec/yii2-vote/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/Chiliec/yii2-vote/issues/17/comments","events_url":"https://api.github.com/repos/Chiliec/yii2-vote/issues/17/events","html_url":"https://github.com/Chiliec/yii2-vote/issues/17","id":127106676,"number":17,"title":"Обновить модель после голосования","user":{"login":"loveorigami","id":98164,"avatar_url":"https://avatars.githubusercontent.com/u/98164?v=3","gravatar_id":"","url":"https://api.github.com/users/loveorigami","html_url":"https://github.com/loveorigami","followers_url":"https://api.github.com/users/loveorigami/followers","following_url":"https://api.github.com/users/loveorigami/following{/other_user}","gists_url":"https://api.github.com/users/loveorigami/gists{/gist_id}","starred_url":"https://api.github.com/users/loveorigami/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/loveorigami/subscriptions","organizations_url":"https://api.github.com/users/loveorigami/orgs","repos_url":"https://api.github.com/users/loveorigami/repos","events_url":"https://api.github.com/users/loveorigami/events{/privacy}","received_events_url":"https://api.github.com/users/loveorigami/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-01-17T16:40:54Z","updated_at":"2016-01-18T10:35:25Z","closed_at":null,"body":"Вывожу списком статьи через ListView.\r\nСписок кешируется. Кеш обновляется, если обновилась модель.\r\n\r\nГолосование же идет по другому сценарию.\r\nПосле факта голосования запись вставляется в таблицу rating.\r\nЗатем, после следующей выборки, обновляются поля в самой модели. Это если без кеша.\r\n\r\nС кешем у меня эти поля не обновляются, т.к. не произошло обновления самой модели.\r\nПолучается, замкнутый круг: кеш не сбросился, т.к. не обновилась модель. Рейтинг не пересчитался, т.к. модель закеширована\r\n\r\nПочему бы не объявлять массив моделей, т.к. они есть.\r\n```php\r\n    'modules' => [\r\n        'vote' => [\r\n            'matchingModels' => [ // matching model names with whatever unique integer ID\r\n                'common\\models\\Page' => 3, // or array with 'id' key\r\n            ],\r\n        ],\r\n    ],\r\n```\r\nв виджете\r\n```php\r\n                <?php echo Display::widget([\r\n                    'model_name' => $model::className(), // common\\models\\Page\r\n                    //'model_name' => 'aphorism', // вместо такой записи\r\n                    'target_id' => $model->id, // id of current element\r\n                ]);\r\n                ?>\r\n```\r\nповедение\r\n\r\n```php\r\n    /**\r\n     * @inheritdoc\r\n     */\r\n    public function behaviors()\r\n    {\r\n       return [\r\n            'class' => \\chiliec\\behaviors\\RatingBehavior::className(),\r\n            'model_name' => self::className(), // common\\models\\Page\r\n        ];\r\n\r\n    }\r\n```\r\nи тогда после вставки голоса в ratiing, имея готовый класс модели, запустить код, который находится в поведении RatingBehavior.\r\n\r\nВ таком случае, инвалидируется кеш, и список статей будет отображаться верно.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/Chiliec/yii2-vote/issues/comments/172492937","html_url":"https://github.com/Chiliec/yii2-vote/issues/17#issuecomment-172492937","issue_url":"https://api.github.com/repos/Chiliec/yii2-vote/issues/17","id":172492937,"user":{"login":"Chiliec","id":982358,"avatar_url":"https://avatars.githubusercontent.com/u/982358?v=3","gravatar_id":"","url":"https://api.github.com/users/Chiliec","html_url":"https://github.com/Chiliec","followers_url":"https://api.github.com/users/Chiliec/followers","following_url":"https://api.github.com/users/Chiliec/following{/other_user}","gists_url":"https://api.github.com/users/Chiliec/gists{/gist_id}","starred_url":"https://api.github.com/users/Chiliec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Chiliec/subscriptions","organizations_url":"https://api.github.com/users/Chiliec/orgs","repos_url":"https://api.github.com/users/Chiliec/repos","events_url":"https://api.github.com/users/Chiliec/events{/privacy}","received_events_url":"https://api.github.com/users/Chiliec/received_events","type":"User","site_admin":false},"created_at":"2016-01-18T10:35:25Z","updated_at":"2016-01-18T10:35:25Z","body":"Идея замечательная, но нужно всё хорошенько обдумать перед таким крутым изменением. Наверняка найдутся ещё какие-то подводные камни."}}