CgridView应该填充Mongo数据-YII

时间:2014-01-13 08:34:26

标签: yii

我尝试使用Mongo数据填充Cgridview,但收到错误"Undefined offset: 0" 这是我的编码,

    $sql="SELECT name FROM CRM_Field Where crm_base_contact_id = ".$base;
    $names =Yii::app()->db->createCommand($sql)->query()-> readAll();
    $mongo = new Mongo( Yii::app()->mongodb->connectionString);
    $collection = $mongo->test->crm_contact_tmp;
    $mongocol = $mongo->test->crm_contact_tmp->find(array('crm_base_contact_id' => array('$in' => array($base))));
    $arrayDataProvider = new CArrayDataProvider (iterator_to_array($mongocol) );
?>

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id' =>'BCImported-grid',
    'dataProvider' =>$arrayDataProvider,
    'columns' => $names,
)); ?>

有人能建议正确的方法吗?我得到空网格,但网格中的记录数显示正确,但没有数据显示!!!

1 个答案:

答案 0 :(得分:1)

您从mongo返回的数据没有CArrayDataProvider所需的从零开始的整数键。看起来它有数组作为键。我认为将use_keys参数设置为false应该可以解决这个问题,即:

$arrayDataProvider = new CArrayDataProvider (iterator_to_array($mongocol, false) );