Findbyattributes No Form


(Marneigaucho) #1

Amigos, estou tentando listar os serviços contratados por determinado cliente, mas da forma que eu fiz abaixo não lista nada:




<div class="row">

	<?php echo $form->labelEx($model,'fk_servico_contratado'); ?>

	<?php echo $form->dropDownList($model,'fk_servico_contratado',

		CHtml::listData(ServicoContratado::model()->findByAttributes(array('fk_cliente'=>Yii::app()->user->id)),

			'id_servico_contratado', 'id_servico'),

		array('empty'=>'Selecione'));

	?>

	<?php echo $form->error($model,'fk_servico_contratado'); ?>

</div>



Se eu trocar o findByAttributes por findAll aí dá certo (como mostrado abaixo), mas eu preciso que listem somente do cliente que está logado, por isso estou usando o findByAttributes(array(‘fk_cliente’=>Yii::app()->user->id)):




<div class="row">

	<?php echo $form->labelEx($model,'fk_servico_contratado'); ?>

	<?php echo $form->dropDownList($model,'fk_servico_contratado',

		CHtml::listData(ServicoContratado::model()->findAll(),

			'id_servico_contratado', 'id_servico'),

		array('empty'=>'Selecione'));

	?>

	<?php echo $form->error($model,'fk_servico_contratado'); ?>

</div>



Se alguém pude me ajudar eu agradeço…

Abraços!!!


(Newerton Araujo) #2

Marnei,

Tenta assim:


ServicoContratado::model()->findAll('fk_cliente = :fk_cliente', array(':fk_cliente' => Yii::app()->user->id));


(Marneigaucho) #3

Newerton sempre ajudando a galera do fórum. Era isso mesmo, muito obrigado!!!!!


(Andre Delorme) #4

O erro não é devido ao uso de findByAttributes() ao invés de findAllByAttributes()?


(Marneigaucho) #5

Olá amigo, também funcionou alterando o findByAttributes() pelo findAllByAttributes()

Obrigado mesmo!!!!