Holas!
Necesito ayuda… no logro hacer andar una búsqueda avanzada. Pongo parte de mi codigo:
class SatiTerapias extends CActiveRecord
{
public $fechadesde;
public $fechahasta;
public $fechas;
public $conObservacion;
public $sinObservacion;
…
public function rules()
{
...
array('contacto_nombre, contacto_email, contacto_provincia, contacto_pais, institucion_nombre, soft_instalado, institucion_tipo_unidad,fechadesde,fechahasta,fechas,conObservacion,sinObservacion ', 'safe', 'on'=>'search'),
...
);
}
…
public function relations()
{
return array(
'rel_observaciones'=>array(self::HAS_MANY, 'SatiTerapiasObservaciones', 'terapia_id'),
);
}
public function search()
{
$criteria=new CDbCriteria;
$sort=new CSort();
$sort->defaultOrder='t.institucion_nombre';
if ($this->fechas){
$criteria->together = true;
$criteria->with='rel_observaciones';
// $criteria->compare('rel_observaciones.fecha','>='.$this->fechadesde);
//$criteria->compare('rel_observaciones.fecha','<='.$this->fechahasta);
$criteria->addBetweenCondition('rel_observaciones.fecha', $this->fechadesde, $this->fechahasta);
}
if($this->conObservacion){
$criteria->together = true;
$criteria->with='rel_observaciones';
$criteria->compare('rel_observaciones.observacion',$this->conObservacion,true);
}
if($this->sinObservacion){
$criteria->together = true;
$criteria->with='rel_observaciones';
$criteria->addCondition(" NOT EXISTS (select * from sati_terapias_observaciones as OT where OT.observacion LIKE '%" .$this->sinObservacion. "%' and OT.terapia_id = t.id)");
// $criteria->compare('rel_observaciones.observacion','<>'.$this->sinObservacion);
}
$obj = new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>$sort,
));
return $obj;
}
El tema es que no logro hacer andar la busqueda entre fechas, ni la búsqueda "sinObservación"
No se como ver el sql generado (aunque estoy usando el CFileLogRoute), no me lo muestra en el log, creo que porque es ejecutado con AJAX… Si pongo un caracter incorrecto en medio genero un error y me tira entonces el sql pero con los parametros tipo :y0
y yo creo q el sql que se genera esta ok, pero no puedo ver si los parametros son correctos…
SOS
Ayuda!!!!