Код: Выделить всё
class Menu extends CActiveRecord
{
public function tree()
{
$rows = Yii::app()->db->createCommand('SELECT * FROM {{menu}}')->queryAll();
if (count($rows)) {
foreach ($rows as $row) {
$data[$row['id']] = $row;
}
}
return new CArrayDataProvider($data, array(
'keyField' => 'id',
'sort'=>array(
'attributes'=>array(
'ordering', 'id', 'name',
),
),
'pagination'=>array(
'pageSize'=>10,
),
));
}
}
Код: Выделить всё
class MenuController extends Controller
{
public function actionAdmin()
{
$model=new Menu('tree');
$this->render('admin',array(
'model'=>$model,
));
}
}
Код: Выделить всё
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'menu-grid',
'dataProvider'=> $model->tree(),
'filter'=>$model,
'columns'=>array(
'id',
'parent_id',
'menu',
'name',
'alias',
'link',
/*
'published',
'params',
*/
array(
'class'=>'CButtonColumn',
),
),
)); ?>
В исходном массиве $data конечно же есть элементы с ключом id, более того я специально прописал 'keyField' => 'id', но что-то ничего не помогает.