Buen día amigos, soy nuevo en Yii Framework llevo 4 dias programando en yii y ps necesito de su ayuda profesional, actualmente tengo una tabla donde la estoy mostrando en un grid.CGridView y tengo los campos: ID_CIUDADANO , USUARIO, USUARIO_AUDIT, FECHA_HORA, OPERACION y tengo mi formulario de busqueda y hace las busquedas con los campos escritos anteriormente, pero necesito hacer una busqueda por rango de fechas: FECHA INICIAL y FECHA FINAL
pero cuando ingreso los campos adicionales de fecha inicial y final me da muchos errores el formulario que dice que no tengo los campos en la base de datos, como podria hacer esa consulta?
en oracle seria: select * from ciudadanos where fechas between fechainicial and fechafinal
actualmente estoy utilizando base de datos oracle.
mi modelo:
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('ID_CIUDADANO',$this->ID_CIUDADANO);
$criteria->compare('USUARIO',$this->USUARIO,true);
$criteria->compare('USUARIO_AUDIT',$this->USUARIO_AUDIT,true);
$criteria->compare('FECHA_HORA',$this->FECHA_HORA,true);
$criteria->compare('OPERACION',$this->OPERACION,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
mi controlador:
class BusquedaController extends Controller
{ //inicio de la clase controlador
public function actionIndex()
{ //inicio de action view
$model=new AUDIT_T_CIUDADANOS1('search');
$model->unsetAttributes(); // borra los valores por defecto
if(isset($_GET['AUDIT_T_CIUDADANOS1']))
$model->attributes=$_GET['AUDIT_T_CIUDADANOS1'];
#$busqueda = AUDIT_T_CIUDADANOS1::model()->findAll();
$this->render('index', array('model'=>$model,));
} //fin del action view
} // fin de la clase
mi vista:
<?php $form=$this->beginWidget(‘CActiveForm’, array(
'action'=>Yii::app()->createUrl($this->route),
'method'=>'get',
)); ?>
<div class="row">
<?php echo $form->label($model,'USUARIO'); ?>
<?php echo $form->textField($model,'USUARIO'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'USUARIO_AUDIT'); ?>
<?php echo $form->textField($model,'USUARIO_AUDIT',array('size'=>20,'maxlength'=>255)); ?>
</div>
<div class="row">
<?php echo $form->label($model,'OPERACION'); ?>
<?php echo $form->dropDownList($model,'OPERACION',CHtml::listData(AUDIT_T_CIUDADANOS1::model()->findAll(), 'OPERACION', 'OPERACION'),array ('prompt'=>'Seleccione...')); ?>
</div>
<div class="row"> <!-- CALENDARIO DE FECHA -->
<?php echo $form->labelEx($model,'FECHA INICIAL'); ?>
<?php echo $form->textField($model, 'FECHA_HORA'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'FECHA FINAL'); ?>
<?php //echo $form->textField($model,'FECHA2'); ?>
</div>
<div class="row buttons"> <!-- BOTON SUBMIT -->
<?php echo CHtml::submitButton('Buscar'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- search-form -->
<?php
// Vista de la lista usuario, operacion, fecha
$this->widget(‘zii.widgets.grid.CGridView’, array(
'id'=>'busqueda-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'USUARIO',
'USUARIO_AUDIT',
'FECHA_HORA',
'OPERACION',
array(
‘class’=>‘CButtonColumn’,
),
),
));
quedo a la espera de su pronta respuesta, espero que me ayuden con la solucion de este problema en el modulo que estoy desarrollando,
Saludos desde guatemala.