Laravel:将一个属于逻辑转变为属于ToMany的最佳方式


Laravel : The best way to transform a belongsTo logic to belongsToMany?

我的应用程序是关于艺术家画墙的。

在这一点上,艺术家有很多墙,一堵墙属于艺术家。

但现在我想让一堵墙成为许多艺术家的归属。(有时一面墙是由2个或更多艺术家绘制的...

我无法为自己找出解决这个问题的最佳方法。怎么样:

1 - 数据透视表:artist_wall沃尔属于许多艺术家的地方和艺术家有很多墙

• 可能吗? 还是我必须有双方的归属关系?

• 我已经有 150+ 墙记录与artist_id字段。感觉在数据透视表中转移关系是一项冒险的任务

2 - 墙桌上的一排artist_ids

• 那我想我会失去雄辩关系的好处

• 看起来很脏

有什么经验可以分享吗?是否足够清楚?我正在使用Laravel 5。

谢谢!

你们有多对多的关系。您应该有 3 张表:

  • 艺术家(ID、描述等)
  • Artists_Walls (ArtistID, WallID, ...)
  • 墙壁(ID,描述,...)

然后,您可以使用连接来获取例如艺术家的所有墙壁,如下所示:

select * from Artists a
inner join Artists_Walls aw on a.ID = aw.ArtistID
where a.ID = '1'

如果你想要相反的东西,那么你通过加入Walls来做相反的事情Artists_Walls