2012-05-04 9 views
1

なぜこのフレームワークがこのような奇妙な動作をするのかを知りたいのですが、Yii:名前を変更するとBELONGS_TOの関係がnullを返します

イベントモデルのリレーションをweirdまたはinterest以外の他の名前として定義すると、クラスInterestのオブジェクトを正しく取得できます。

public function relations() 
{ 
    return array_merge(
     parent::relations(), 
     array(
      'weird' => array(self::BELONGS_TO, 'Interest', 'interest_id'), 
     )); 
} 

しかし、私はinterestに名前を変更した場合、それはそう単純関心に名前を変更すると関係がnull

+3

「関心事」と呼ばれるイベントの変数がありますか?関係や魔法のようなYiiスペシャルのネイティブクラス変数を上書きすることはできません。そうでなければ、見知らぬ人がここで起こっている。 – Paystey

+0

くそ、それは問題です、ありがとうございます。 – Puigcerber

+0

あなたはそれを修正してうれしいです。私はそれを答えとして追加しました。あなたは何か受け入れられるようになっています。 – Paystey

答えて

2

あなたがイベント上の任意の変数を持っていますかを返すことを意味しますnull

public function relations() 
{ 
    return array(
     'interest' => array(self::BELONGS_TO, 'Interest', 'interest_id'), 
    ); 
} 

を返します。リレーションやマジックメソッドのようなYiiスペシャルでネイティブクラス変数をオーバーライドすることはできません。そうでなければ、見知らぬ人がここで起こっている。

+0

ありがとう、それは、私は興味と呼ばれる変数があった。 – Puigcerber