0

我有一个事件模型和一个名为 getEvents() 的方法,它从我的数据库中的事件表中获取事件列表。

每个事件依次都有与之关联的委托,这就是它变得复杂的原因。

有 3 个表,delegate_event(这是一个数据透视表,将代表链接到基于 event_id 和 delegate_id 的事件)、delegate(一个包含 id 字段和 contact_id 字段的简单表)和一个包含有关信息的联系人表联系人列表。

delegates 表使用contact_id 链接到contacts 表并提取与该联系人关联的各种信息。

我正在使用 Query Builder 和 leftJoin 方法来获取每个事件所需的大部分信息,但我现在需要提取委托列表。http://paste.laravel.com/qSa

我无法弄清楚如何通过 delegate_event 表加入与与事件相关联的代表相关联的联系人。

有人可以帮我吗?谢谢。

4

1 回答 1

0

您需要一个多对多表用于事件用户,因为多个事件将有多个与之关联的用户(代表)。

这是我所拥有的:

mtm_event_user:ID、事件、用户

事件: id,名称(事件)

用户:身份证,联系方式

联系人:身份证、姓名、地址等

这是我的查询,您可以修改 SELECT 以适合您需要的字段。

SELECT *
FROM contacts
INNER JOIN users ON users.contact = contacts.ID
INNER JOIN mtm_event_user AS meu ON meu.user = users.id
WHERE meu.`event` = 1

对于多个事件,替换 WHERE meu。event= 1,按 meu 排序。event

于 2013-05-08T16:33:46.637 回答