我有3个名为A,B和C的表。
Table A: id,
B_id
Table B: id,
C_id
Table C: id,
*column
a关于创建这样的关系知之甚少:
'tableB' => array(self::BELONGS_TO, 'B', 'B_id'),
如何在表A中创建关系以便我可以访问表C中的*column
?我正在使用yii。谢谢!
答案 0 :(得分:0)
您正在搜索此http://www.yiiframework.com/doc/guide/1.1/en/database.arr#relational-query-with-through 您应该能够定义从A到C到B的关系。
'tableB' => array(self::BELONGS_TO, 'B', 'B_id'),
'tableA' => array(self::BELONGS_TO, 'C', array('C_id'=>'id'),'through'=>'tableB'),
答案 1 :(得分:0)
虽然不确定,但在接受的答案中描述的逻辑方式给了我:
Property "CBelongsToRelation.through" is not defined.
对我有用的简单解决方法是在第二个关系中将BELONGS_TO
与HAS_ONE
切换:
'tableB' => array(self::BELONGS_TO, 'B', 'B_id'),
'tableA' => array(self::HAS_ONE, 'C', array('C_id'=>'id'),'through'=>'tableB'),