我有2个模型:Address
和Country
。现在,每个地址都只有一个国家。所以Address
模型有:
protected $_has_one = array('country' => array(
'model' => 'Country',
'foreign_key' => 'code',
));
我加载Address
对象:
$addr = ORM::factory('Address', 1);
$country = $addr->country->find();
但是$country
始终包含第一条记录而不是Country
表中的相关记录
我在这里做错了吗?如果是,那么正确的方法是什么?
修改
表Country
有PK code
而没有FK
表格Address
包含PK id
和FK country_code
答案 0 :(得分:4)
您的has_one属性应如下所示:
protected $_has_one = array('country' => array(
'model' => 'Country',
'foreign_key' => 'country_code',
));
外键是当前模型表中链接到相关模型主键的键。