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’,
),
erick9024
(New Angel 24)
May 30, 2014, 5:36pm
2
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.
kmlox
(Camilo22266)
April 22, 2015, 3:09am
4
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
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.