我正在使用CakePhp 2.x建立房地产系统。我的问题是我无法将我的所有者表(hasMany)与我的契约表(hasOne和hasOne)联系起来。我一直关注这个Models with two hasOne relations to same table第一个表是所有者有以下列:
id | lastName | firstName | middleName | etc...
第二个表是Deed,其中包含以下列:
id | owner_buyer | owner_seller | etc...
在表格Deed中,owner_buyer和owner_seller都是所有者,我无法将owner_buyer和owner_seller列更改为owner_id。我已经为每个契约静态输入了所有者ID,但我无法检索所有者信息。
以下是一些其他信息:
契约模型:
App::uses('AppModel', 'Model');
class Deed extends AppModel {
public $hasOne = array(
'OwnerA' => array(
'className' => 'Owner',
'foreignKey' => 'owner_buyer'
),
'OwnerB' => array(
'className' => 'Owner',
'foreignKey' => 'owner_seller'
)
);
}
所有者模型:
App::uses('AppModel', 'Model');
class Owner extends AppModel {
public $hasMany = array(
'Deed' => array(
'className' => 'Deed',
'finderQuery' => 'SELECT * FROM deeds AS Deed WHERE Deed.owner_buyer_id = {$__cakeID__$} OR Deed.owner_seller_id = {$__cakeID__$};'
)
);
}
deedList.ctp
...
<td><?php echo $deed['Owner']['owner_buyer']; ?></td>
<td><?php echo $deed['Owner']['owner_seller']; ?></td>
...
买方和卖方都给我以下通知:
Notice (8): Undefined index: Owner
非常感谢任何帮助!
答案 0 :(得分:0)
查看通知我认为您对变量$ deed有问题。 你能复制并粘贴关于通知的所有信息吗?
此外,尝试在ctp文件中添加debug($ deed),并检查实际结构是否符合您的预期。
齐射