CakePHP-客户有多个国家/地区字段。如何将国家/地区模型链接到客户?

CakePHP-客户有多个国家/地区字段。如何将国家/地区模型链接到客户?,cakephp,cakephp-2.2,Cakephp,Cakephp 2.2,国家/地区表如下所示: iso | name -------------------------- AD | Andorra AE | United Arab Emirates AF | Afghanistan ...etc “我的客户”表具有以下字段,这些字段均存储国家/地区代码: id | country_origin | current_country_study | address_country ----------------------------------------

国家/地区表如下所示:

iso | name
--------------------------
AD  | Andorra
AE  | United Arab Emirates
AF  | Afghanistan

...etc
“我的客户”表具有以下字段,这些字段均存储国家/地区代码:

id | country_origin | current_country_study | address_country
--------------------------------------------------------
54 | BE             | GB                    | GB

我不确定如何链接国家/地区模型,以便在查找客户模型时检索国家/地区的名称。如果我有一个名为
country\u id
的字段,我就可以了,但不知道如何处理多个字段。

别名应该可以:

public $belongsTo = array(
    'CountryOrigin' => array(
        'className'    => 'Country',
        'foreignKey'    => 'country_origin_id'
    ),
    'CurrentCountry' => array(
        'className'    => 'Country',
        'foreignKey'    => 'current_country_id'
    ),
    ....
);

您需要更新
customers
表以获得新的外键字段。

我认为这也可以,但是模型不总是由ID字段连接吗?如果您将外键指定为“country\u origin\u id”,它不会查找“country\u origin\u id”等于Customer.id的国家吗?它会查找
country.id=Customer。当前的\u country\u id
等等(或者至少应该:),您会将该代码添加到客户模型中。啊,好的,听起来不错。这意味着OP必须修改最初发布的表结构。是的。我想这是显而易见的,不过我还是更新了答案:)嗯。。。看起来是个不错的选择。要是我早知道修改桌子会很痛苦就好了。谢谢我会让你知道事情的进展。