gdang
(Gianluca Pericoli)
1
buongiorno, sono nuovo di YII e pongo un questito particolarmente stupido al quale però nen trovo risposta 
Ho 2 tebelle: Division e Person e sono correlate tra loro da una relazione MANY_MANY rispettivamente con Division.people e Person.divisions
vorrei utilizzare CActiveDataProvider per poi utilizzare una gridView per visionare tutte le persone che lavorano in una data Division.
per ora ho fatto:
$dataProvider=new CActiveDataProvider('person', array(
'criteria'=>array(
'with'=>'divisions',
'condition'=>'Division.id=23',
),
'pagination'=>array(
'pageSize'=>20,
),
)
);
ma non funziona e non riesco ad uscirne. Una birra a chi mi aiuta
gdang
(Gianluca Pericoli)
2
/* $dataProvider=new CActiveDataProvider('person', array(
'criteria'=>array(
'with'=>array('divisions'=>array(
'on'=>'divisions.id='.$division['id'],
'together'=>true,
'joinType'=>'RIGHT JOIN',
)),
),
'pagination'=>array(
'pageSize'=>20,
),
)
);
*/
$rawData=Yii::app()->db->createCommand('SELECT * FROM tbl_person as p INNER JOIN tbl_person_division as d ON p.id=d.person_id WHERE d.division_id='.$division['id'])->queryAll();
$dataProvider=new CArrayDataProvider($rawData, array(
'pagination'=>array(
'pageSize'=>20,
),
));
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'griglia',
'dataProvider'=>$dataProvider,
'columns'=>array(
'name',
'tel1',
'tel2',
array(
'class'=>'CButtonColumn',
'header'=>'delete',
'template'=>'{delete}',
'deleteButtonUrl'=>'Yii::app()->createUrl("corporation/deletePersonRelation",array("id_person"=>$data["person_id"],"id_division"=>$data["division_id"]))',
),
),
));