1

我对 Yii 很陌生,我有一个小问题,但无法弄清楚。问题是当我在我的一个模型(活动记录)中调用 Yii 时,$this->attributes = 'something'; 我收到错误“未定义属性“SiteController.attributes”。”

我在控制器中有这个:

public function actionIndex()
{
    // Create new clients active record
    $client = new Clients;

    // Check if user send some request
    if (isSet($_POST)){
        switch($_POST["action"]){
            case 'newClient':
                $registered = $client::addClient($_POST);
        }
    }

    // render the view
    $this->render('landing',array(
        // Objects
        'client' => $client,
        // Variables
        'registered' => $registered,
    ));

    return true;
}

这在模型中:

public function addClient($data){
    // Set data
    $this->attributes = $data["Clients"];
    $this->password = self::generatePassword(6);

    // Proceed
    $this->setScenario('insert');

    return true;
}

功能当然不完整,但这是我得到错误的地方。我到底做错了什么?谢谢

4

2 回答 2

2

您将该函数作为静态方法调用。

$registered = $client::addClient($_POST);

应该

$registered = $client->addClient($_POST);
于 2012-08-23T04:28:19.553 回答
0

当这样的事情发生在我身上时,我 var_dump(). 也许不是想的那样。

否则我建议检查 Yii 生成的代码。几乎不熟悉该框架,但请检查您或您的 IDE 是否没有弄错任何 C 样式的注释。检查拼写错误、代码、元数据、表格。还要检查并确保您还没有同名的实体,SiteController听起来有点通用。

于 2012-08-23T04:41:10.173 回答