CakePHP表与另一个表有两种关系

CakePHP表与另一个表有两种关系,php,mysql,cakephp,Php,Mysql,Cakephp,我正在使用CakePHP2.x建立一个房地产系统。我的问题是我无法将我的所有者表(hasMany)与契约表(hasOne和hasOne)关联起来。我一直在关注这一点。第一个表的所有者有以下列: id | lastName | firstName | middleName | etc... 第二个表包含以下列: id | owner_buyer | owner_seller | etc... 在表契约中,owner\u buyer和owner\u seller都是所有者,我无法将owner\u

我正在使用CakePHP2.x建立一个房地产系统。我的问题是我无法将我的所有者表(hasMany)与契约表(hasOne和hasOne)关联起来。我一直在关注这一点。第一个表的所有者有以下列:

id | lastName | firstName | middleName | etc...
第二个表包含以下列:

id | owner_buyer | owner_seller | etc...
在表契约中,owner\u buyer和owner\u seller都是所有者,我无法将owner\u buyer和owner\u seller列都更改为owner\u 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>
...

任何帮助都将不胜感激

查看通知,我认为您对可变的$dedit有问题。 你能复制并粘贴通知的所有信息吗

此外,尝试在ctp文件中添加debug($dect),并检查实际结构是否符合您的期望


Salvo

查看通知,我认为您对可变的$de契约有问题。 你能复制并粘贴通知的所有信息吗

此外,尝试在ctp文件中添加debug($dect),并检查实际结构是否符合您的期望


Salvo

$Dect['Owner']
-问题中没有定义任何关联契约->所有者。我的第一个评论仍然是准确的。如果你在为问题编造名称-不要这样做。
$de契d['Owner']
-问题中没有定义任何关联契约->所有者。我的第一个评论仍然是准确的。如果你在为这个问题编名字,不要这样做。
Notice (8): Undefined index: Owner