関係を理解するのに問題があります。
私はこれらのテーブルを持っています:
Modules
- name (pk)
- status_id (fk references status(id))
Status
- id (pk)
- name
したがって、モジュールで関係を宣言します。
public function relations()
{
return array(
'status'=>array( self::HAS_ONE, 'Status', 'status_id' ),
);
}
ただし、これは機能しません。各ステータスは NULL です。
Yii によって実行されるクエリ:
SELECT `t`.`name` AS `t0_c0`, `t`.`status_id` AS `t0_c1`, `t`.`session_limit` AS `t0_c2`, `status`.`id` AS `t1_c0`, `status`.`name` AS `t1_c1` FROM `ss_module` `t` LEFT OUTER JOIN `ss_module_status` `status` ON (`status`.`id`=`t`.`name`)
+------------+-------+-------+-------+-------+
| t0_c0 | t0_c1 | t0_c2 | t1_c0 | t1_c1 |
+------------+-------+-------+-------+-------+
| digidoc | 2 | 0 | NULL | NULL |
| docusearch | 1 | 2 | NULL | NULL |
| printbox | 2 | 0 | NULL | NULL |
+------------+-------+-------+-------+-------+
定数が関連モデルまたは現在のモデルに適用されるかどうかを理解するのに問題がModule HAS_ONE Status
ありますstatus BELONGS_TO a Module
。
うまくいくことに注意してくださいBELONGS_TO
。おそらく私は自分自身に答えているかもしれませんが、関係をよりよく理解する方法についてアドバイスが欲しいです.YIIガイドの例ではuser HAS_ONE Profile
、user HAS_ONE status
http://www.yiiframework.com/doc/guide/1.1/en/database.arr#declaring-relationship
どうもありがとう。