我有一个事件模型和一个名为getEvents()的方法,它从我的数据库中的事件表中获取事件列表。
每个事件都会有与之相关的代表,这就变得很复杂。
有3个表,delegate_event(这是一个数据透视表,将委托链接到基于event_id和delegate_id的事件),委托(包含id字段和contact_id字段的简单表)和一个包含联系人的表关于联系人列表的信息。
委托表使用contact_id链接到联系人表格,并提取与该联系人相关的各种信息。
我正在使用Query Builder和leftJoin方法来获取每个事件所需的大部分信息,但我现在需要通过一个委托列表。 http://paste.laravel.com/qSa
我无法通过delegate_event表找到如何加入与该事件关联的代理相关联的联系人。
请有人帮助我。感谢。
答案 0 :(得分:0)
您需要为事件用户提供多对多表,因为多个事件将有多个与之关联的用户(代理)。
这就是我所拥有的:
mtm_event_user:ID,event,user
事件: id,姓名(事件)
用户: 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
对于多个事件,请使用ORDER BY meu替换WHERE meu。event
= 1. event