【发布时间】:2015-07-23 04:02:13
【问题描述】:
我正在使用 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['Owner']- 没有关联 Deed->问题中定义的所有者。 -
我的第一条评论还是准确的。如果您正在为问题编造名字 - 不要那样做。