在我的 Laravel 应用中,我有 User、List 和 ListItem 模型,User 和 List 之间是一对多关系,User 和 ListItem 之间以及 List 和 ListItem 之间是多对多关系。每个 User 应该能够分别标记每个 List 上的 ListItem,以便 ListItem 1 在 List A 和 List B 上可以具有不同的标签。我的 lists_listitems 数据透视表有一个列“tags”,但我不知道如何在关系上定义标签模型。
我曾想过通过创建与 ListItems 具有多对多关系的标签模型来简化问题,但由于所有用户都可以访问数据库中的所有 ListItems,因此 ListItem 的标签将对所有用户可见。如果我尝试使标签仅对一个用户可见,我会遇到同样的问题(仅针对 listitems_user 数据透视表而不是 lists_listitmes 数据透视表)。我搜索了文档和网络,但没有得到任何有用的结果,这可能是因为标签是多对多关系的一个非常常见的示例,而没有我的应用程序所需的额外复杂性。在 Laravel 中标记关系是否可行?