Yii $这不适用于模特

时间:2012-08-23 04:23:57

标签: php object activerecord yii

我对Yii相当新,我有一个小问题,但无法弄明白。问题是,当我在我的一个模型中调用Yii时(活动记录)$ this-> attributes ='something';我收到错误“Property”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;
}

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

2 个答案:

答案 0 :(得分:2)

您正在以静态方法调用该函数。

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

应该是

$registered = $client->addClient($_POST);

答案 1 :(得分:0)

当像我这样的东西发生在我身上的时候我就是var_dump()。也许这个不是您认为的这个

否则我建议检查Yii生成的代码。几乎不熟悉该框架,但检查您或您的IDE没有搞砸任何C风格的评论。检查拼写错误,代码,元,表。另外,请检查并确保您没有名称相同的实体,SiteController听起来有点通用。