2015-06-09 130 views
0

我有两个表我想加入Ad.zipcodeZipcode.zip请检查下面的细节 -如何通过邮编将一张桌子加入另一张桌子?

表:广告

+----+----------+---------+----------+ 
| id | user_id | zipcode | photo | 
+----+----------+---------+----------+ 
| 1 | 1  | 751010 | img1.jpg | 
| 2 | 2  | 123456 | img2.jpg | 
| 3 | 3  | 756114 | img3.jpg | 
| 4 | 4  | 121010 | img4.jpg | 
| 5 | 5  | 789520 | img5.jpg | 
| 6 | 6  | 404040 | img6.jpg | 
| 7 | 7  | 805020 | img7.jpg | 
+----+----------+---------+----------+ 

表:邮编

+--------+---------+----------+ 
| zip | city | state | 
+--------+---------+----------+ 
| 789520 | ctc  | odisha | 
| 756114 | bhadrak | odisha | 
| 123456 | bbsr | odisha | 
| 756114 | rlc  | odisha | 
| 789502 | bls  | odisha | 
---------+---------+----------+ 

我要加入与包含在ads表中的邮政编码我需要获取记录在t他第二个表,adszipcode756114

我试图在$hasMany但ID不存在投身于zipcodes表为什么要加入不工作。

我的代码:

public $hasMany = array(
    'Zipcode' => array(
     'className' => 'Zipcode', 
     'foreignKey' => 'zip', 
    ), 
); 

在我aboave代码我得到空数组。请帮帮我。 您好我正在使用CakePHP版本2.x

如何将模型与另一个模型关联?

回答

1

在你的邮编模式,你需要:

public $primaryKey = 'zip'; 

在一个侧面说明,为什么你不具备该表的autonumeric PK?邮政编码通常包含非数字字符...

1

AD模型地方:

public $belongsTo = array(
    'Zipcode' => array(
     'className' => 'Zipcode', 
     'foreignKey' => 'zipcode', 
    ) 
); 

在邮编型号地方:

public $primaryKey = 'zip'; 

public $hasMany = array(
    'Ad' => array(
     'className' => 'Ad', 
     'foreignKey' => 'zipcode', 
    ) 
); 
+0

'zip'可以包含重复值。我如何设置主键? – Chinmay235

相关问题