Ciao a tutti!!
Ho cercato in svariati forum italiano ed inglese e non sono riuscito a trovare nessuna risposta al mio problema.
Sto cercardo di collegare 2 tabelle per una sola view.
Ho 2 tabelle, argomento e domande.
All’interno di entrambe c’è un un id_argomento.
Vorrei che quando clicco sull’id dell’argomento sotto mi stampa le domande correlate quindi ho pensato di fare CGridView.
Ho iniziato inserendo le relazioni nel mio model
public function relations() {
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'id_argomento' => array(self::BELONGS_TO, 'Domande', 'id_argomento'),
);
}
Poi ho creato una nuova function search per tirare fuori le righe correlate a quell’id_argomento
public function search01()
{
$connection=Yii::app()->db;
$sql="SELECT * FROM domande where id_argomento ='$data->id_argomento'";
$command=$connection->createCommand($sql);
$dataReader=$command->query();
$rows=$dataReader->readAll();
$ans=array();
foreach($rows as $data)
{
$ans=$data['domanda'];
}
return $ans;
}
e infine nella _view del mio argomento ho inserito il seguente codice
<?php $this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model->search01(),
'filter'=>$model,
'columns'=>array(
'id_argomento',
'domanda',
array('header'=>'Domanda per questo argomento','value'=>array($model,'search01')),
'id_argomento',
array('class'=>'CButtonColumn',
'template'=>'{view}'),
),
)); ?>
Non riesco a capire perchè mi da il seguente errore!
Fatal error: Call to a member function getData() on a non-object in C:\xampp\htdocs\yii\framework\zii\widgets\CBaseListView.php on line 108
Per favore chiedo aiuto, sono nuovo con questo framework e con php.
Spero che qualcuno possa aiutarmi
GRAZIE MILLE!!!!