Problemas de autocomplete desde otro modelo

Hola Comunidad

Tengo la siguientes tablas

Tb_entidades_personas

ID_ENTI_PER (PK)

iD_Persona (FK)

Tb_Personas

id_persona (PK)

nombre

apellido1

apellido2

tb_personas_servicios

id_servicio (PK)

ID_enti_per (FK)

Desde el formulario de alta en un modelo que guarda la relación de las personas con unos servicios, estoy intentando crear un autocomplete para que busque por el nombre y apellidos de la persona (tb_personas) y tome el id de la tabla (tb_entidades_personas) para que este sea guardado en el formulario.

dentro del controller tengo hecha esta función con en base a un ejemplo visto en el foro.




public function actionBuscaPersonas()

        {

            $term = Yii::app()->getRequest()->getParam('term',false);

            

            $users = Yii::app()->db->createCommand()

                    ->select('ID_ENTI_PER')

                    ->from ('tb_entidades_personas ,tb_personas')

                    ->join ('tb_personas','tb_entidades_personas.id_persona = tb_personas.id_persona')

                    ->where ('LOWER(NOMBRE) like LOWER(:term) or LOWER(APELLIDO_1) like LOWER(:term) or (APELLIDO_2) like LOWER(:term)',array(':term'=> '%'.$_GET['term'].'%'))

                    ->queryAll();

              

            $arr=array();

            foreach ($users as $user)

            {

                $arr[]=array(

                    'label'=>($model->NOMBRE.' '.$model->APELLIDO_1.' '.$model->APELLIDO_2.''), // label for dropdown list

                    'value'=>($model->NOMBRE.' '.$model->APELLIDO_1.' '.$model->APELLIDO_2.''), // value for input field

                    'id'=>$model->ID_ENTI_PER, // return value from autocomplete

                          );

            }

            echo CJSON::encode($arr);

            Yii::app()->end();

            }



he comprobado la query por fuera mediante un gestor de BD y muestra los resultados correctos.

he dado los correspondientes permisos dentro de las rules.




public function accessRules()

	{

		return array(

			array('allow',  // allow all users to perform 'index' and 'view' actions

				'actions'=>array('index','view','BuscaPersonas'),

				'users'=>array('*'),

			),

			array('allow', // allow authenticated user to perform 'create' and 'update' actions

				'actions'=>array('create','update','BuscaPersonas'),

				'users'=>array('@'),

			),

			array('allow', // allow admin user to perform 'admin' and 'delete' actions

				'actions'=>array('admin','delete','BuscaPersonas'),

				'users'=>array('admin'),

			),

			array('deny',  // deny all users

				'users'=>array('*'),

			),

		);

	}



en el model he creado las variables publicas para el autocomplete.




 public $BuscaPersonas;



y además




 public function afterFind()

      {

        $this->BuscaPersonas = $this->ID_ENTI_PER;

               

        } 




y finalmente en el form para el campo





<div class="row">

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

                <?php echo $form->HiddenField($model, 'ID_ENTI_PER'); 

                  $this->widget('zii.widgets.jui.CJuiAutoComplete',

                          array(

                            'model'=>$model,

                            'attribute'=>'BuscaPersonas',

                            'source'=>$this->createUrl('tbPersonasServicios/BuscaPersonas'),

                            'htmlOptions'=>array('placeholder'=>'Persona...','style'=>('height:20px;size:200px;')),

                            'options'=>

                               array(

                                     'showAnim'=>'fold',

                                     'size'=>'130',

                                     'minLength'=>'3',

                                     'select'=>"js:function(event, ui) {

                                        $('#".CHtml::activeId($model,'ID_ENTI_PER')."').val(ui.item.id);

                                               }"

                                      ),

                            )); 

                ?>

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



cuando cumplimento el campo para se realice y muestre los resultados no hace nada… :( :(

alguna idea de que me he dejado por hacer. se puede hacer de otra forma?