我正在使用CakePhp 2.x设置房地产系统。我的问题是我无法将所有者表(hasMany)与我的契约表(hasOne和hasOne)关联。我一直在关注Models with two hasOne relations to same table,第一个表是Owner,其以下各列:
id | lastName | firstName | middleName | etc...
第二个表是Deed,它具有以下列:
id | owner_buyer | owner_seller | etc...
在表契约中,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
任何帮助将不胜感激!
最佳答案
查看通知,我认为变量$ deed存在问题。
您可以复制并粘贴有关通知的所有信息吗?
此外,尝试在ctp文件中添加debug($ deed)并检查实际结构是否符合您的期望。
齐射
关于php - CakePHP表与另一个表有两个关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31577937/