Buenas Tardes a todos!!.. Nuevamente por aca a ver si me pueden ayudar…
Tengo un modelo llamado equipo_aud con (cod_aud, num_ofic, id_auditor).En el _form de dicho modelo tengo un boton llamado Finalizar, que al presionar me va al actionCreate
if (isset($_POST['Finalizar'])){
$this->redirect(array('admin', 'cod_aud'=>$model->cod_aud));
}
Como ven esa accion me redirecciona al actionAdmin, Bien ahora lo que quiero es que al mostrar el Cgrid me filtre por cod_aud, siendo ésta el valor que ésta en el textField del _form de equipo_aud. Lo que coloque en el search es lo siguiente
Lo que he podido notar que al redireccionar desde el actionCreate al Admin los datos que traia del modelo se pierde ya que al entrar en actionAdmin reinicia el modelo el $model =new (‘Search’);
La pregunta seria en este caso que debo modificar para que se mantenga los datos en el modelo y me pueda filtrar por el campo cod_aud…
pues una solucion rapida seria que usaras jaquery que trae Yii le implementes una funcion ajax que llame a una nueva peticion por separado recojas los datos e imprimas la nueva consulta dentro de algun div implementado en tu vista, de esta manera lo aria yo, por que si mandas de nuevo con el voton consulta todo lo va a mandar por post o get dependiendo y pierdes las variables o tu informacion ya que generas una nueva consulta y esto ya no te mantiene tu informacion, yo creo que lo mas viable es jquery de yii o tradicional saludos !!!
Hola Aaron, Gracias por tu sugerencia… Pero antes de indagar con js segui buscando otra via más sencilla debido a que de verdad no veia que era muy complicado lo que necesito… Logre resolverlo de la siguiente manera:
En el Controlador / actionCreate
public function actionCreate()
{
$model=new equipo_aud;
if(isset($_POST['equipo_aud']))
{
$model->attributes=$_POST['equipo_aud'];
if (isset($_POST['Finalizar']))
$this->redirect(array('admin', 'codigo'=>$model->cod_aud));
if($model->save()) $this->redirect(array('/equipo_audcreate','id_aud'=>$model->cod_aud));
}
$this->render('create',array(
'model'=>$model,
));
}
y en el Search
public function search()
{
$criteria=new CDbCriteria;
$criteria->condition = "cod_aud like :codigo" ;// . $this->getAttribute('cod_aud') ; //$this->cod_aud;
$criteria->params = array(':codigo'=>$_GET['codigo']);
$sort= new CSort();
$sort-> defaultOrder = 'num_ofic DESC';
return new CActiveDataProvider($this, array(
'criteria'=>$criteria, 'sort'=>$sort
));
}
De esta forma me hace la busqueda perfectamente según el codigo que esta en el textfield del _form… …