Hola chicos, soy nueva usando el framework, tengo ciertas dudas que espero que me puedan ayudar a solucionar.
estoy haciendo una aplicacion de tarificación, en la cual tengo Proveedores y cada proveedor tiene muchos canales asociados, he creado los modelos y las vistas respectivas para cada tabla, más sin embargo queria crear una vista que sea la consulta de un proveedor específico y que a su vez en esa misma vista pueda ver un listado(como el se genera con CGridView) con los canales asociados a ese proveedor. intenté realizar cargar la vista con 2 modelos más sin embargo me da el siguiente error
Fatal error: Call to a member function getData() on a non-object in C:\xampp\htdocs\yii\framework\zii\widgets\CBaseListView.php on line 105
en mi controlador de proveedor estoy haciendo lo siguiente:
public function actionView($id)
{
$this->pageTitle = 'Consultar Proveedor';
$this->render('view',array(
'model'=>$this->loadModel($id),
'model2'=>$this->loadModelChilds($id),
));
}
public function loadModel($id)
{
$model=Proveedor::model()->findByPk((int)$id);
if($model===null)
throw new CHttpException(404,'El registro consultado no existe.');
return $model;
}
public function loadModelChilds($id)
{
$model=Canal::model()->find('idProveedor='.$id);
$data['canales'] = CHtml::listData($model, 'idProveedor', 'correlativo','patronId');
if($model===null)
throw new CHttpException(404,'El registro consultado no existe.');
return $data['canales'];
}
y la vista que estoy creando:
<h1>Consultar Proveedor <?php echo $model->nombre; ?></h1>
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'idProveedor',
'nombre',
'prefijo',
),
)); ?>
<br/>
<h1>Canales asociados al proveedor </h1>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'canal-grid',
'dataProvider'=>$model2,
'filter'=>$model2,
'columns'=>array(
'proveedorR.nombre',
'correlativo',
'patronId',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
De antemano agradezco mucho la ayuda que me puedan brindar con este problema, disculpen si no lo estoy haciendo como se debe, estoy aprendiendo y me gustaria que me ayudaran.!