我尝试使用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,
)); ?>
有人能建议正确的方法吗?我得到空网格,但网格中的记录数显示正确,但没有数据显示!!!
答案 0 :(得分:1)
您从mongo返回的数据没有CArrayDataProvider所需的从零开始的整数键。看起来它有数组作为键。我认为将use_keys参数设置为false应该可以解决这个问题,即:
$arrayDataProvider = new CArrayDataProvider (iterator_to_array($mongocol, false) );