我想知道在这种情况下是否可以避免循环关系。
说明: posts 表有一个外键 city_id 来指定帖子(产品)的位置,用户也有一个 city_id 来指定他/她居住的地方。现在,用户可以拥有一个“a”城市并创建一个具有“b”城市的帖子,这对我来说是逻辑,因为用户可能正在度假,也可能在远离他/她自己的城市的地方。对于用户来说,默认情况下,当他/她第一次登录时,城市设置为空,但他/她可以将一个城市分配给他/她的个人资料。该帖子必须有城市位置。
您认为有办法避免这种情况下的循环关系吗?
我尝试删除循环关系,因为在大多数情况下这是一种不好的做法,但似乎在我的情况下,我无法删除它,因为与概念和我的网站的工作方式相比,它没有意义
这里不存在结构性循环依赖问题,因为 0.. 重数允许打破循环:
这是正常的关联,就像您在现实生活中会发现更多关联一样,其中不止一条路径可以链接两个实例。
问题更多是行为性的:如何初始化用户的城市(多重性告诉我们它是可选的)以及如果用户没有城市,如何确定帖子的城市。地理定位可以是一个答案。另一个约束要求与帖子关联的用户在创建帖子时必须拥有城市。所以更多的是澄清要求。