由于我的词汇量较弱,我不确定我的问题的标题是否正确,但我试图尽可能详细地解释我的需求。感谢您通过。
我有一张设计用来存储活动成员的表。示意图如下。
event_id | user_id
---------|---------------------
1 | 23
1 | 32
3 | 23
3 | 32
3 | 67
我想event_id根据提供的值进行检索,user_id但我只想显示event_id专门为用户提供的值。
例如,根据上表的图表,如果我只给用户值 = (23, 32),那么我应该只检索事件 1,而不是 1 和 3,即使事件 3 也有上述用户。我正在尝试仅检索给定用户独有的事件。
这是我的 laravel 实现:
DB::table('events_users')->whereIn('user_id', [23, 32])
->get();
这会获取所有具有上述用户的事件,但我想要基于上图的唯一具有 id 1 的事件。我当前的解决方案是在从查询结果中将每个事件中的用户计数与所需计数相匹配的位置之后,再编写一层代码。例如,如果我只搜索 2 个用户独占事件,那么我将根据事件中的总用户数从结果中过滤掉事件。对不起,我的词汇量很弱,但我正在尽力解释。
有没有办法通过单个查询来实现我想要的?
FFIVE
HUWWW
翻阅古今