Busqueda Con Variable En El Cgridview

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


$criteria=new CDbCriteria;

                $criteria->condition ="cod_aud ='$this->cod_aud'";// . $this->getAttribute('cod_aud') ;           

                $sort= new CSort();

                $sort-> defaultOrder = 'num_ofic DESC';

                return new CActiveDataProvider($this, array(

			'criteria'=>$criteria, 'sort'=>$sort

		));

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…

Espero haberme explicado bien… Gracias!!

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… :D

Hola eh estado investigando pero aun no le eh dado en el punto.

soy nueva en yii y aun no entiendo muy bien el dataProvider.

lo que quiero es hacer una consulta para poder traer los datos especificos de un usuario logueado. por ejemplo, tengo mi tabla vacantes,

quiero hacer algo como esto.

$user= Yii::app()->user->id;//tengo entendido que de esta manera que trae el id del usuario logueado.

// de esta manera quiero traer los datos de ese usuario pero no se como meterlo en un dataProvider y enviarselo al CgridView.

$datos = Vacantes::model()->findByAttributes(array(

‘id_usuarioempresas’=>$user,

));

Si me pudieran orientar seria genial.

gracias