CakePHP - 自定义hasOne对象关联 - 使用连接表而不是表内外键?

时间:2010-09-22 15:33:14

标签: php cakephp data-modeling cakephp-1.3 object-relationships

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

谢谢!

2 个答案:

答案 0 :(得分:2)

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

可能有一种方法可以使用hasOne关系的'conditions'字段,但我怀疑你仍然必须指定一个外键(或者它仍然默认为'object2_id')它可能仍然会尝试根据该外键进行连接。

答案 1 :(得分:0)