1

在 CakePHP 中,我正在尝试建立 $hasOne 关系,但我无法向表中添加外键(出于遗留原因)。有什么方法可以创建一个连接表(object1_object2)并将它们链接在一起吗?我想利用 Cake 强大的对象关系功能,所以如果有一种方法可以使这个自定义关联在整个模型中永久存在,而无需总是为每个 find() 构建自定义 $options 数组,那就太好了。(也许模型的 initalize() 中有一个 bindModel?)

谢谢!

4

2 回答 2

2

如果你想使用连接表,我相信你将不得不使用 hasAndBelongsToMany (HABTM) 关系,即使你永远不会有'many'。数据的行为显然与标准的 hasOne 关系不同,但至少该关系会存在。

可能有一种方法可以使用 hasOne 关系的“条件”字段,但我怀疑您仍然必须指定一个外键(或者无论如何它都会默认为“object2_id”)并且它可能仍会尝试做一个基于该外键加入。

于 2010-09-23T07:53:13.740 回答