Yii 1.1.7 & cache

Решил поиграться с cache методом для AR.

Имеем метод модели seo




	public function getBySection($section) {

		$dependency = new CDbCacheDependency("SELECT last_update FROM seo WHERE section = '" . $section . "'");

		return self::model()->cache(86400, $dependency)->find('section = :section', array(':section' => $section));

	}



есть виджет в который я передаю $section, в итоге получаю следующее.

У меня на странице есть 5 виджетов, например ‘placeholder-1’ … ‘placeholder-5’

У меня во всех выводится только первая метка, при чем такое произошло после включения кэширования.

Смотрю в дэбагбар, а там почему-то вызывается вместо 5 разны регионов, 5 раз один и тот же




14:48:17.430126	trace	system.db.CDbCommand	Querying SQL: SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1

14:48:17.430244	trace	system.db.CDbCommand	Querying SQL: SELECT last_update FROM seo WHERE section = 'front-menu-1'

14:48:17.430432	trace	system.db.CDbCommand	Query result found in cache

14:48:17.430771	trace	system.db.ar.CActiveRecord	seo.find()

14:48:17.430846	trace	system.db.CDbCommand	Querying SQL: SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1

14:48:17.430938	trace	system.db.CDbCommand	Querying SQL: SELECT last_update FROM seo WHERE section = 'front-menu-1'

14:48:17.431122	trace	system.db.CDbCommand	Query result found in cache

14:48:17.431374	trace	system.db.ar.CActiveRecord	seo.find()

14:48:17.431468	trace	system.db.CDbCommand	Querying SQL: SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1

14:48:17.431560	trace	system.db.CDbCommand	Querying SQL: SELECT last_update FROM seo WHERE section = 'front-menu-1'

14:48:17.431730	trace	system.db.CDbCommand	Query result found in cache

14:48:17.431989	trace	system.db.ar.CActiveRecord	seo.find()

14:48:17.432065	trace	system.db.CDbCommand	Querying SQL: SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1

14:48:17.432183	trace	system.db.CDbCommand	Querying SQL: SELECT last_update FROM seo WHERE section = 'front-menu-1'

14:48:17.432333	trace	system.db.CDbCommand	Query result found in cache

14:48:17.432593	trace	system.db.ar.CActiveRecord	seo.find()

14:48:17.432686	trace	system.db.CDbCommand	Querying SQL: SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1

14:48:17.432775	trace	system.db.CDbCommand	Querying SQL: SELECT last_update FROM seo WHERE section = 'front-menu-1'

14:48:17.432924	trace	system.db.CDbCommand	Query result found in cache

14:48:17.433192	trace	system.db.ar.CActiveRecord	seo.find()

***************************************************

14:48:17.430423	trace	system.caching.CFileCache	Serving "yii:dbquerymysql:dbname=usb;host=localhost:usb:SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1:a:0:{}" from cache

14:48:17.431097	trace	system.caching.CFileCache	Serving "yii:dbquerymysql:dbname=usb;host=localhost:usb:SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1:a:0:{}" from cache

14:48:17.431720	trace	system.caching.CFileCache	Serving "yii:dbquerymysql:dbname=usb;host=localhost:usb:SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1:a:0:{}" from cache

14:48:17.432322	trace	system.caching.CFileCache	Serving "yii:dbquerymysql:dbname=usb;host=localhost:usb:SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1:a:0:{}" from cache

14:48:17.432915	trace	system.caching.CFileCache	Serving "yii:dbquerymysql:dbname=usb;host=localhost:usb:SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1:a:0:{}" from cache

14:48:17.433499	trace	system.caching.CFileCache	Serving "yii:dbquerymysql:dbname=usb;host=localhost:usb:SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1:a:0:{}" from cache

14:48:17.434087	trace	system.caching.CFileCache	Serving "yii:dbquerymysql:dbname=usb;host=localhost:usb:SELECT * FROM `seo` `t` WHERE section = :section LIMIT 1:a:0:{}" from cache



Это я не вкурил как работает кэш или где-то закралась ошибка ?

Потому что кэш таки работает, но везде использует только один ключ