2012-07-18 68 views
0

該國表看起來像這樣:CakePHP - 客戶擁有多個國家/地區字段。我如何將國家模式鏈接到客戶?

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

...etc 

我的客戶表具有以下字段,所有存儲國家代碼:

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

我不知道如何將國家模式,使鏈接當我在客戶模型上進行查找時,我可以檢索的名稱。如果我有一個名爲country_id的字段,我會好的,但不知道如何使用多個字段。

回答

1

別名應該做的伎倆:

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

您將需要更新您的customers表,以獲得新的外鍵的字段。

+0

我認爲這也可以工作,但不是始終由ID字段加入的模型?如果您將外鍵指定爲'country_origin_id',它是不是會查找'country_origin_id'等於Customer.id的國家? – 2012-07-18 17:13:45

+0

它會查找'Country.id = Customer.current_country_id'等等(或者至少它應該:])您可以將該代碼添加到Customer模型。 – tigrang 2012-07-18 17:14:44

+0

啊,好吧,聽起來沒錯。這意味着OP必須修改最初發布的表結構。 – 2012-07-18 17:16:35