Laravel用户模型具有与同一模型的两个关系

时间:2018-07-21 22:04:21

标签: mysql laravel

我有一个用户模型和一个事件模型。用户具有has_many事件(可以创建多个事件),并且事件属于用户。但是,由于我的事件也有注册,所以我认为最好的方法是添加一个包含所有注册的数据透视表users_events_table,现在这两个模型都传递给Emirates_to关系。

有什么办法可以维持这两种关系?

1 个答案:

答案 0 :(得分:0)

是的-您可能正在寻求has many through关系。它的工作原理类似于一个属于许多关系的对象,只是数据透视表是一流的模型,这意味着您可以为其附加附加功能。用户可以通过注册进行很多活动,反之亦然。

如果您实际上不需要数据透视表上的太多其他信息-也许您只需要created_at / updated_at时间戳,那么您可以使用belongs to many并弹出{{ 1}}-Laravel将为您处理。它确实允许您在该数据透视表上添加更多的列,但是根据您的用例进行管理可能会比较棘手,因为在这种情况下,可能有很多贯穿的情况会成为更好的解决方案。