3

我有 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有PKid和FKcountry_code

4

1 回答 1

4

您的 has_one 属性应如下所示:

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

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

于 2011-08-16T14:26:19.563 回答