0

我只是研究 Yii 2 周,但我有一个项目。任务是使用 Yii Cactiveform 创建表单。但我得到这个错误:get_class() 期望参数 1 是对象,给定数组。这是我的控制器:

 public function actionPersonal()
{
    // Layout
    $this->layout = '../layouts/news_style';
    // Title
    $this->pageTitle = Yii::app()->params['news_title'];
    // Description
    $this->pageDescription = Yii::app()->params['news_description'];
    // Breadcrumbs
    $this->breadcrumbs = array(
        'My Profile' => array(),
    );
    $layout = $this->_layout();
    return $this->render('my_profile', array(
        'user' => Yii::app()->user->getUser(),
        'postDoXe' => $layout['postDoXe'],
        'newPosts' => $layout['newPosts'],
    ));
}

my_profile.php

<div class="input-group">
                    <?php echo $form->label(Yii::app()->user->getUser(),'username'); ?>
                    <?php echo $form->textField(Yii::app()->user->getUser(),'username'); ?>    
</div>
4

1 回答 1

0
Yii::app()->user->getUser()

返回一个数组,但您的表单元素需要一个模型,您已经给出了一个用于验证的数组

<?php echo $form->textField(Yii::app()->user->getUser(),'username'); ?>

您需要使用从“Yii::app()->user->getUser()”返回的 id 填充模型,然后在表单中使用该模型

<?php echo $form->textField($model ,'username'); ?>
于 2013-11-04T05:38:18.983 回答