【发布时间】:2023-03-25 08:21:01
【问题描述】:
我有一个用于users 和collected_guitars 之间多对多关系的数据透视表。如您所见,“collected_guitar”是一个引用外部表(guitar_models、finish)中某些数据的项目。
我的用户在外部表中也有一些外部数据(hand_types 和genders)
如果我在"collected_guitar_user" 中查找特定的model_id,我想获得一个列出数据的派生表
假设“Fender Stratocaster”的型号 id = 200,其中品牌是 Fender(品牌表的 id = 1)。
同一把吉他可以有多种饰面,因此可以使用另一张桌子collected_guitars。
一个用户可以在他的收藏中拥有这个项目
现在我想通过查看数据透视表“collected_guitar_user”中的 model_id(在本例中为 200)来找到由共享相同 genders.sex 和 hand_types.type 的用户收集的 Fender Stratocaster 数量作为登录用户并查看他们划分的完成情况(完成 A 和 B 的一些百分比等......)。
因此,用户可以看到对其他人购买的东西感兴趣的用户可以看到模型的一些统计数据。
什么查询可以导出这种表??
【问题讨论】:
-
collected_guitar是指owned_guitar? -
您是否已经为这些表定义了 Eloquent 模型和关系范围?
-
是的,我确实定义了所有模型和关系。
-
好吧,我还是有点困惑。因此,对于给定用户(当前已通过身份验证的用户),您希望获取具有相同性别和手型的其他用户的集合。然后,从整个用户组中,您想了解他们总共拥有多少台 Fender Stratocaster?或者,每个这些用户拥有多少 Fender Stratocaster?
-
它的工作原理是这样的:经过身份验证的用户提交对“fender stratocaster”的搜索,结果应该是当前在其他用户的集合中的所有fender stratocasters,这些用户拥有相同的手和性别身份验证用户。假设只有一个名为 stratocaster 的模型,因此程序将显示该模型以及每个完成的百分比。例如实心 70%,透明 30%。
标签: mysql eloquent statistics pivot-table