Yii Framework Forum: Búsqueda De Valores De Modelos A Y B En La Vista "admin" De C. - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Búsqueda De Valores De Modelos A Y B En La Vista "admin" De C. Realizar búsqueda de otros modelos en un solo "admin". Rate Topic: -----

#1 User is offline   Eduardo Méndez 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 29-June 12

Posted 26 November 2012 - 09:49 AM

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?
0

#2 User is offline   robregonm 

  • Experienced Yii Developer
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 601
  • Joined: 30-July 09
  • Location:Colombia

Posted 26 November 2012 - 03:34 PM

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
Ricardo Obregón
LinkedIn Profile
YiiFramework en Español - http://yiiframework.co/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.5+, nginx, MySQL, PostgreSQL, Yii 1.x & 2.x, CanJS and more.
Follow me: @robregonm & @obregonco & @1ServerCo.
1

#3 User is offline   robregonm 

  • Experienced Yii Developer
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 601
  • Joined: 30-July 09
  • Location:Colombia

Posted 26 November 2012 - 03:35 PM

También se podría hacer un if para optimizar la consulta... ya es cuestión de gustos y necesidades
Ricardo Obregón
LinkedIn Profile
YiiFramework en Español - http://yiiframework.co/ - Yii Code Generator for Bootstrap
http://obregon.co/ - https://1server.co/
PHP 5.5+, nginx, MySQL, PostgreSQL, Yii 1.x & 2.x, CanJS and more.
Follow me: @robregonm & @obregonco & @1ServerCo.
0

#4 User is offline   Eduardo Méndez 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 29-June 12

Posted 27 November 2012 - 10:25 AM

View Postrobregonm, on 26 November 2012 - 03:35 PM, said:

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...
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users