Vista (View)

es la consulta que te mostré en el código, estoy trabajando sobre ORACLE y la consulta en oracle tarda 16msecs, y usando solo el controlador y la vista tarda aprox. 2secs

y si haces esa consulta en un php a pelo tarda también dos segundos? si es así, parece más un problema del driver que tengas instalado para acceder a oracle que del propio yii en sí mismo

Chux, por favor ayúdame con el view… tengo lo siguiente:


<?php

		$this->widget('zii.widgets.grid.CGridView', array(

			'id'=>'traitinerarios-grid',

			'dataProvider'=>$model->Consultar(),

			'filter'=>$model,

			'columns'=>array(

			array(

					'class'=>'CButtonColumn',

					'template'=>'{view}',

				 ),

			array('name'=>'ID'),

			array('name'=>'VE_PLACA'),

			array('name'=>'NOMBRE'),

							),

			));

		?>

no se si es asi que se debe implementar, porque de todas formas no me ha resultado.

http://www.yiiframework.com/doc/api/1.1/CActiveDataProvider#__construct-detail

prueba con




'dataProvider' => new CActiveDataProvider($model->consultar())



el código de antes no se si e funcionara (no lo puedo probar). SI tienes los datos en un array te puede servir CArrayDataProvider

Correcto chux… no funciona!! si sabes algo mas te agradezco la ayuda.

Saludos

Pienso que tu problema está en tu función consultar, no creo que sea lo correcto ya que podrías hacerlo perfectamente con un simple CDbCriteria y new CActiveDataProvider que es lo que requiere el GRID (no un reader, sino un data provider, ya sea array o active)

Porqué no creas una relacion?




     'municipio'=>array(self::BELONGS_TO, 'Municipio', 'mu_origen');



Luego es simple en consultar:




   $criteria = new CDbCriteria();

   $criteria->compare('VE_PLACA', $this->ve_placa);

   $criteria->with = array('municipio');

   

   return new CActiveDataProvider('Itinerario', $criteria);



He puesto nombres que no sé si corresponden o no a los modelos que tienes, lo que he explicado es simplemente para darte una idea.

Que tal Antonio, Gracias por tu sugerencia, pero te cuento, lo que pasa es que trabajo en un proyecto que tiene una base de datos en Oracle bastante grande, mi tarea es pasar la aplicación de escritorio se tiene, a un entorno web, las consultas ya están hechas, el trabajo con la base de datos ya se hizo, por eso quiero implementar el DAO de Yii y de la mejor manera posible… entonces, lo que quiero y necesito por ahora es hacer unas vistas agradables, de las consultas que he hecho, por eso quiero pedirte el favor me ayudes con eso.

Gracias

Saludos!

En mi humilde opinión, si lo que vas a usar son sentencias DAO, vas a tener que usar ARRAYS para mostrar los objetos creados. Yo sigo pensando que sería mejor que convirtieras todas esas tablas en objetos CModel y luego hagas las relaciones pertinentes (siempre teniendo en cuenta la base de datos que utilizas: Oracle). Una vez hayas hecho eso, tu vida será mucho más fácil y tendrás una mayor flexibilidad en el uso de todos los widgets que Yii tiene como complemento a su librería.

Es un consejo que te doy… con DAO… usa arrays, en especial el CArrayDataProvider: http://www.yiiframework.com/doc/api/1.1/CArrayDataProvider

Un saludo

Antonio, tu tienes algun ejemplo en el cual pueda ver como se hace lo que dices en tu comentario, yo tengo los modelos hechos de las tablas con las que voy a trabajar, la idea es tener vistas bonitas para el usuario final.

Gracias.