Filtro De Grid No Muestra Resultados.

Hola foro, tengo un problema con el filtro de búsqueda del Grid,espero puedan ayudarme. Al buscar un registro por nombre de proveedor o por nombre de quien solicita con el filtro del grid, no me muestra ningún resultado.

modelo relacional

Model*

return array(

‘idProveedor’=> array(self::BELONGS_TO, ‘Proveedores’, ‘id_proveedor’),

);


vista del grid

view*

array(

‘name’=>‘id_solicita’,

‘value’=>’$data->idSolicita->nombre’

),

array(

‘name’=>‘id_proveedor’,

‘value’=>’$data->idProveedor->nombre’,

),


es porque debes cambiar en tu modelo la función search para q tambien te busque por el nombre y no por el id

en tu función search debes tener algo así:




$criteria->compare('id_solicita',$this->id_solicita);

$criteria->compare('id_proveedor',$this->id_proveedor);



debes modificarlo por algo como esto :




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

$criteria->addSearchCondition('LOWER(idSolicita.nombre)',strtolower($this->id_solicita));


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

$criteria->addSearchCondition('LOWER(idProveedor.nombre)',strtolower($this->id_proveedor));



hay si creo q te funcione el filtro de acuerdo al nombre que pongas espero q sea de tu ayuda

Muchas gracias por tu ayuda, me ha funcionado correctamente!

Saludos.

Me sirvió de mucho, pero hay un detalle, cuando agrego ambos $criteria->with me genera un error, en este caso lo que hice fue:




$criteria->with =array('idSolicita','idProveedor');

$criteria->addSearchCondition('LOWER(idSolicita.nombre)',strtolower($this->id_solicita));

$criteria->addSearchCondition('LOWER(idProveedor.nombre)',strtolower($this->id_proveedor));



Tal vez a alguien más le pase lo mismo.

Saludos.