Cake PHP中同一个表的多个外键?
Posted
技术标签:
【中文标题】Cake PHP中同一个表的多个外键?【英文标题】:Multiple foreign keys to the same table in Cake PHP? 【发布时间】:2012-07-08 17:16:43 【问题描述】:Cake 有自己的约定,可以在其模型和它们引用的表之间自动进行某些功能交互。如果外键引用名为 people 的表,则它们应称为 people_id。如何处理一行包含两个人并且需要两个人的外键的情况?很明显,我不能复制列名,有两个 people_id 列。
考虑一个有两个竞争对手的比赛。每个参赛者都由参赛者表格中的一行表示。比赛表需要参考这两个竞争对手。在不破坏 Cake 提供的自动功能的情况下,我怎样才能做到这一点?
【问题讨论】:
我不认为你可以有 2 个同名的列 -people_id
- 为什么你认为显然可以?
By the looks of it ,用 ORM 做这件事有点不可能。 ActiveRecord 设计模式对此太有限了。地狱.. 恕我直言,制作简单的JOIN
声明甚至都不好,更不用说更复杂的情况了。基本上,您将不得不手动编写查询并检索数据。
我发现这个链接描述了这个过程是如何完成的:book.cakephp.org/1.2/view/851/…
找到这个答案:***.com/questions/11844998/…
【参考方案1】:
我找到了一个链接,描述了如何完美地做到这一点。
http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasandbelongstomany-habtm
【讨论】:
以上是关于Cake PHP中同一个表的多个外键?的主要内容,如果未能解决你的问题,请参考以下文章