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!!!!