Yii - 没有为CArrayDataProvider和CSqlDataProvider定义“Model.id” - keyfield

时间:2014-03-10 01:39:21

标签: yii

在我的控制器中,我想显示应用程序的所有用户,所以我使用了这段代码:

    public function actionClientu($id)
    {
$model=$this->loadModel($id);
$appUsers= $model->users;

        $dataProvider=new CArrayDataProvider($appUsers);
        $this->render('clientu',array(
            'dataProvider'=>$dataProvider,
        ));

    }

但我有这个错误:

 "Undefined AppUser.id"

它指的是这一行:

$dataProvider=new CActiveDataProvider('AppUser', $appUsers);

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

我解决了我的问题!这是问题的原因: 我的模型keyfield没有命名为id,我还没有定义应该使用哪个列。

所以我必须像这样设置keyField:

new CArrayDataProvider($users, array('keyField' => 'user_id'));
new CSqlDataProvider($users, array('keyField' => 'user_id'));