我有两张桌子,我想加入Ad.zipcode
Zipcode.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 |
+----+----------+---------+----------+
表: zipcodes
+--------+---------+----------+
| zip | city | state |
+--------+---------+----------+
| 789520 | ctc | odisha |
| 756114 | bhadrak | odisha |
| 123456 | bbsr | odisha |
| 756114 | rlc | odisha |
| 789502 | bls | odisha |
---------+---------+----------+
我想加入包含在ads
表格中的邮政编码,我需要在第二个表格中获取记录ads
zipcode
为756114
我曾尝试加入$hasMany
,但zipcodes
表中没有为什么加入不工作的ID。
我的代码:
public $hasMany = array(
'Zipcode' => array(
'className' => 'Zipcode',
'foreignKey' => 'zip',
),
);
在我的aboave代码中,我得到了空白数组。请帮我。 嗨,我正在使用CakePHP版本2.x
如何将模型与其他模型相关联?
答案 0 :(得分:1)
在您的邮政编码模型中,您需要:
public $primaryKey = 'zip';
另一方面,为什么你在那张桌子上没有自动数字PK呢?邮政编码通常包含非数字字符......
答案 1 :(得分:1)
在广告模型中:
public $belongsTo = array(
'Zipcode' => array(
'className' => 'Zipcode',
'foreignKey' => 'zipcode',
)
);
在Zipcode Model中:
public $primaryKey = 'zip';
public $hasMany = array(
'Ad' => array(
'className' => 'Ad',
'foreignKey' => 'zipcode',
)
);