Búsqueda De Valores De Modelos A Y B En La Vista "admin" De C.

Buenos días amigos, saludos y bendiciones… en esta oportunidad se me presenta un error a la hora de hacer lo siguiente:

Tengo tres modelos (usuario, institucion y solicitud) y desde la vista=“solicitud/admin” quiero buscar por ejemplo una solicitud hecha por un usuario ‘X’ o por una institución ‘Y’.

Hasta ahora tengo esto:

Normalmente el modelo queda así como está abajo y en el "solicitud/admin" te mostraría los IDs de usuario e institucion.




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

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




Pero como esas tablas están relacionadas mediante su ID entonces hice esto para mostrar no el ID de usuario e institucion sino el nombre. Esto funciona perfectamente para uno, pero si los coloco los dos ninguno funciona!!!

Es decir, si dejo usuario, al hacer una búsueda por usuario me va bien, pero si dejo ambos cualquiera de las búsquedas tanto de usuario como de institución me dan error.




               $criteria->with =array('usuario');

               $criteria->addSearchCondition('LOWER(usuario.username)', strtolower($this->id_usuario));


		

	       $criteria->with =array('institucion');

               $criteria->addSearchCondition('LOWER(institucion.nombre_institucion)', strtolower($this->id_institucion));



¿En qué me estoy equivocando?.. lo que puedo pensar es que no puedo tener más de una búsqueda de ese tipo… pero al mismo tiempo es ilógico ¿no?.. ¿a alguien le ha pasado lo mismo?

La solución es:





               $criteria->with =array('usuario','institucion');

               $criteria->addSearchCondition('LOWER(usuario.username)', strtolower($this->id_usuario));

               $criteria->addSearchCondition('LOWER(institucion.nombre_institucion)', strtolower($this->id_institucion));



Recuerde que with no es acumulativo, es una variable como cualquier otra.

Saludos

También se podría hacer un if para optimizar la consulta… ya es cuestión de gustos y necesidades

Muchas gracias amigo! siempre estás pendiente del foro…