Hello!
tengo varias tablas y las "aplane" en una vista de la base de datos
ahora?
con el shell no puedo crear el model
>> model V_refprof_listado
Warning: the table ‘V_refprof_listado’ does not exist in the database.
generate V_refprof_listado.php
y si uso
$models=Yii::app()->db->createCommand("SELECT * FROM `V_regprof_listado`")->queryAll();
y
<?php foreach($models as $n=>$model): ?>
<tr>
<td>
........
<?php echo CHtml::encode($model->apellido); ?>
..........
</td>
</tr>
no me muesta datos, pero si me crea las filas
adjunto imagen de la pantalla
controller
public function actionRep_listado_prof() {
$models=Yii::app()->db->createCommand("SELECT * FROM `V_regprof_listado`")->queryAll();
//$cantidad=Yii::app()->db->createCommand("SELECT count(1) FROM `V_regprof_listado`");
$cantidad=100;
$criteria=new CDbCriteria;
$pages=new CPagination($cantidad);
$pages->pageSize=self::PAGE_SIZE;
$pages->applyLimit($criteria);
$this->render('rep_listado_prof',array(
'models'=>$models,
'pages'=>$pages,
));
}
cyberpol
(Cyberpol 777)
November 5, 2009, 2:30pm
2
en el foreach hace un print_r($model) a ver que te tira. (A lo mejor
$model->apellido
no es algo que este en $model)
Sino, en el query pone en lugar de "select * " algo como
"select V_regprof_listado.algun campo AS apellido, V_regprof_listado.otro_campo AS nombre …"
Y asi…
en el foreach hace un print_r($model) a ver que te tira. (A lo mejor
$model->apellido
no es algo que este en $model)
Sino, en el query pone en lugar de "select * " algo como
"select V_regprof_listado.algun campo AS apellido, V_regprof_listado.otro_campo AS nombre …"
Y asi…
$model[‘nombre’] funcionó
pero no me anda el pager
me muestra todo en vez de solo 10 registros
alguna referencia de como trabajar con Vistas?
saludos y gracias
sebas
(Sebathi)
November 5, 2009, 3:31pm
4
$model[‘nombre’] funcionó
pero no me anda el pager
me muestra todo en vez de solo 10 registros
alguna referencia de como trabajar con Vistas?
saludos y gracias
Si, cuando haces un queryAll te devuelve un array con los datos pedidos a la base ya que no estas usando AR. Para eso debes utilizarlo como si fuese PHP común y demás…
Mirá esta página para más info…
http://www.yiiframework.com/doc/guide/database.dao
Saludos,
Sebas
sebas
(Sebathi)
November 5, 2009, 3:32pm
5
sebas:
Si, cuando haces un queryAll te devuelve un array con los datos pedidos a la base ya que no estas usando AR. Para eso debes utilizarlo como si fuese PHP común y demás…
Mirá esta página para más info…
http://www.yiiframew …de/database.dao
Saludos,
Sebas
Me olvidé de decirte, para el pager tenés que hacerlo a mano ya que el pager de Yii funciona con AR, y no con DAO directo
Fijate que además tendrías que hacer un count de la base (que también se hace con el uso del pager) y usar LIMIT y OFFSET en tu pedido a la base
Saludos,
encontre esto y me sirvio
http://www.yiiframew …iews-in-models/
el shell no genera el model en forma completa, hay que "arreglarlo"
hay que agregar
public function primaryKey()
{
return 'id';
}
donde id es la "clave primaria" de la vista
crud V_regprof_listado
generate V_regprof_listadoController.php
mkdir /home/hsegura/mnt/htdocs-desa/sistemas/protected/views/v_regprof_listado
generate create.php
generate update.php
generate list.php
generate show.php
generate admin.php
generate _form.php
Crud ‘v_regprof_listado’ has been successfully created. You may access it via:
http://hostname/path...regprof_listado