Kohana 3.1 orm。怎么做这个has_one关系?

时间:2011-07-10 11:34:28

标签: kohana kohana-orm

我有2个模型:AddressCountry。现在,每个地址都只有一个国家。所以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

1 个答案:

答案 0 :(得分:4)

您的has_one属性应如下所示:

protected $_has_one = array('country' => array(
  'model' => 'Country',
  'foreign_key' => 'country_code',
));

外键是当前模型表中链接到相关模型主键的键。