2012-07-08 40 views
3

Cake的约定用于自动化模型与参考表之间的某些功能交互。如果外键引用了一个名为people的表,则应该调用people_id。我如何处理一行可容纳两个人的情况,并且需要两个人的外键?很明显,我无法复制列名,有两个people_id列。CakePHP中的同一张表的多个外键?

考虑一个竞争,你有两个竞争对手。每个参赛者都在竞争对手的桌子上排成一排。比赛表需要提及这两个竞争者。我如何做到这一点不会破坏Cake提供的自动功能?

+0

我不认为你可以有相同名称的2列 - 'people_id' - 为什么你认为明显,你可以? – Aprillion 2012-07-08 17:31:15

+0

[通过它的外观](http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#belongsto),使用ORM做到这一点是不可能的。 ActiveRecord的设计模式对此太有限了。地狱..恕我直言,它甚至没有做出简单的'JOIN'声明,更不用说更复杂的情况。基本上,您将不得不手动编写查询并检索数据。 – 2012-07-08 17:37:05

+0

我发现这个链接,描述了这一过程是如何完成的:HTTP://book.cakephp.org/1.2/view/851/Multiple-relations-to-the-same-model – Adam 2012-07-08 17:43:53

回答