Problemas Com Método Search() Usando Dois Relacionamentos

Boa tarde a todos,

Estou desenvolvendo um CRUD de uma Agenda onde existem duas chaves estrangeiras, uma para o cliente, outra para o serviço da Agenda, na página de gerenciamento estou tendo problemas ao permitir que os dois campos sejam usados para busca, ou aceita a busca do cliente, ou aceita a busca do serviço, abaixo segue os trechos de código e o erro apresentado.

/* ERRO */

<h1>CDbException</h1>

<p>CDbCommand falhou ao executar o comando SQL: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘relationCliente.nome_cliente’ in ‘where clause’. The SQL statement executed was: SELECT COUNT(DISTINCT t.idagenda) FROM agenda t LEFT OUTER JOIN servico servicoIdservico ON (t.servico_idservico=servicoIdservico.idservico) WHERE (relationCliente.nome_cliente LIKE :ycp0) (/var/www/yii/framework/db/CDbCommand.php:541)</p><pre>#0 /var/www/yii/framework/db/CDbCommand.php(432): CDbCommand->queryInternal(‘fetchColumn’, 0, Array)

/* ----------------------------------------- */

/* MODEL */

public function search()

{


	// Warning: Please modify the following code to remove attributes that


	// should not be searched.


	


	&#036;criteria=new CDbCriteria;


	&#036;criteria-&gt;with=array('relationCliente');


	&#036;criteria-&gt;with=array('servicoIdservico');


			


	&#036;criteria-&gt;compare('idagenda',&#036;this-&gt;idagenda);


	&#036;criteria-&gt;compare('relationCliente.nome_cliente',&#036;this-&gt;cliente_idcliente,true);


	&#036;criteria-&gt;compare('horario_atendimento', &#036;this-&gt;horario_atendimento,true);


	&#036;criteria-&gt;compare('servicoIdservico.titulo_servico',&#036;this-&gt;servico_idservico,true);


	&#036;criteria-&gt;compare('comparecimento',&#036;this-&gt;comparecimento,true);


	&#036;criteria-&gt;compare('obs_agenda',&#036;this-&gt;obs_agenda,true);





	return new CActiveDataProvider(&#036;this, array(


		'criteria'=&gt;&#036;criteria,


	));


}








   public function rules()


{


	// NOTE: you should only define rules for those attributes that


	// will receive user inputs.


	return array(


		array('cliente_idcliente, horario_atendimento, servico_idservico', 'required'),


		array('cliente_idcliente, servico_idservico', 'numerical', 'integerOnly'=&gt;true),


		array('comparecimento, obs_agenda', 'length', 'max'=&gt;45),


		// The following rule is used by search().


		// Please remove those attributes that should not be searched.


		array('idagenda, relationCliente.nome_cliente, horario_atendimento, servicoIdservico.titulo_servico,   comparecimento, obs_agenda', 'safe', 'on'=&gt;'search'),


	);


}

/* ----------------------------------------- */

/* admin.php */

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

'id'=&gt;'agenda-grid',


'dataProvider'=&gt;&#036;model-&gt;search(),


'filter'=&gt;&#036;model,


'columns'=&gt;array(


	'idagenda',


	array(


			'name' =&gt; 'cliente_idcliente',


			'value' =&gt; '&#036;data-&gt;relationCliente-&gt;nome_cliente',


	),


	'horario_atendimento',


	array(


			'name' =&gt; 'servico_idservico',


			'value' =&gt; '&#036;data-&gt;servicoIdservico-&gt;titulo_servico',


	),


	'comparecimento',


	array(


		'class'=&gt;'CButtonColumn',


	),


),

)); ?>

/* ----------------------------------------- */

PS. as duas formas de consultam funcionam de forma independente, mas caso as duas fiquem ativas, uma delas não funciona.

Desde já agradeço a atenção de todos!

Pode mostrar como são as tabelas usadas nesse search()?