Cdbcachedependency

Not a bug, my fault.

I set dependency as I did in filters() in Cchainedcachedepenecy but for Active Record it have to be done in difference ways


O.S. = Linux version 3.2.13-grsec-xxxx-grs-ipv6-32 (root@kernel-32.ovh.net) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #1 SMP Thu Mar 29 09:43:21 UTC 2012

Web Server = Apache/2.2.16 (Debian)

Browser = Chrome Version 28.0.1500.71

Yii-version = 1.1.14-dev

In a action i cache some data with db dependency.




Yii::app()->cache->set(

	$cid,

	$terms[Yii::app()->language],

	3600*24*30, 

	array(

		'class'=>'CDbCacheDependency',

		'sql'=> 'SELECT MAX(id) FROM term WHERE vocabulary_id=:vocabulary_id',

		'params' => array(':vocabulary_id'=>$vid),

	)

);



After this if I restart apache and refresh the page only trace output is showed.

In my php log error i found:

PHP Fatal error: Call to a member function evaluateDependency() on a non-object in /usr/share/yii-latest/caching/CCache.php on line 178

CCache.php




173:public function set($id,$value,$expire=0,$dependency=null)

174:{

175:	Yii::trace('Saving "'.$id.'" to cache','system.caching.'.get_class($this));

176:

177:    if ($dependency !== null && $this->serializer !== false)

178:    	$dependency->evaluateDependency();

179:	if ($this->serializer === null)

180:		$value = serialize(array($value,$dependency));

181:	elseif ($this->serializer !== false)

182:		$value = call_user_func($this->serializer[0], array($value,$dependency));

183:

184:	return $this->setValue($this->generateUniqueKey($id), $value, $expire);

185:}