1

私は Yii を初めて使用し、小さな問題を抱えていますが、それを理解することはできません。問題は、私のモデル (アクティブなレコード) の 1 つで 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 に答える