我正在使用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/

10-09 02:47