Witam. Mam taką sytuację, z którą nie mogę sobie poradzić.
Mam 3 tabele(i jednocześnie modele) oraz zdefiniowane w modelach relacje:
Obserwacje(id, id_gatunku); relacje:'idGatunku' => array(self::BELONGS_TO, 'Gatunki', 'id_gatunku'),
Gatunki(id,nazwa_gatunku,id_grupy ); relacje:'nazwaGrupy' => array(self::BELONGS_TO, 'GrupyGatunkow', 'id_grupy'),
GrupyGatunkow(id, nazwa) (bez relacji)
Dodatkowo w modelu Obserwacje mam zdefiniowaną $public grupa_szukaj oraz w funkcji search mam dodane $criteria kryteria:
$public grupa_szukaj;
$criteria->with = array('idGatunku');   
Moje pytanie jest następujące: w jaki sposób mogę dokonać wyszukiwania w widoku Obserwacje na podstawie nazwy z modelu GrupyGatunkow (wiem, że muszę zdefiniować w funkcji search w modelu Obserwacje kryterium wyszukiwania, ale te zdefiniowane poniżej przeze mnie nie działają:
$criteria->compare('idGatunku.nazwaGrupy.nazwa', $this->grupa_szukaj, true );  
$criteria->compare('idGatunku->nazwaGrupy->nazwa', $this->grupa_szukaj, true ); 
p.s. oto mój kod w widoku obserwacje
<?php $this->widget('bootstrap.widgets.TbGridView',array( 
	'dataProvider'=>$model->search(),
	'columns'=>array(       
                array(
                    'name'=>'grupa_szukaj',
                    'value'=>'$data->idGatunku->nazwaGrupy->nazwa'), 
		array(
			'class'=>'bootstrap.widgets.TbButtonColumn',
		),
	),
)); ?>
Z góry dziękuję za pomoc
Pozdrawiam