Filtro Recursivo en CgridView

Saludos amantes del Yii.

Hoy vengo con un problema que no me deja dormir trankilo y es lo siguiente. En mi proyecto controlo un sistema para la gestion de perros. Ahora en este sistema necesito filtrar en el admin los criadores y los padres de los perros. Donde por supuesto Criadores son un modelo aparte pero los padres pertenecen al mismo modelo de perros. Aqui muestro lo que tengo:

en el Modelo Perro:

Relaciones




public function relations()

	{

		return array(

			'criador' => array(self::BELONGS_TO, 'Asociados', 'criador_id'),

			'perroPadre' => array(self::BELONGS_TO, 'Perro', 'perroPadre_id' ),

		);

	}



Aqui mi funcion Search




public function search()

	{

$criteria=new CDbCriteria;

$criteria->compare('id',$this->id);

$criteria->compare('nombre_per',$this->nombre_per,true);

$criteria->compare('sexo',$this->apellido,true);

//etc otros compare del modelo


$criteria->with=array('criador','perroPadre'); //aqui uno las dos relaciones que necesito para filtrar en mi vista admin

$criteria->addSearchCondition('LOWER(criador.ci)', strtolower($this->criador_id)); //aqui instancio el criador

$criteria->addSearchCondition('LOWER(perroPadre.cod)', strtolower($this->perroMadre_id), true); //aqui instancio el padre



en mi vista admin




<?php $this->widget('zii.widgets.grid.CGridView', array(

	'id'=>'perro-grid',

	'dataProvider'=>$model->search(),

	'filter'=>$model,

	'columns'=>array(

array(

                'name'=>'sexo_per',

                'value'=> 'Perro::getSexoOption($data->sexo_per)', 

                'filter'=>array(1=>'Macho', 2=>'Hembra'),

                ),




No dupliques posts!!!!!!!