我有3种相关型号: 1)问题。 2)回答。 3)用户
每个问题可以有很多答案,因此可以被许多用户回答。
我需要根据2个条件过滤问题:
1)获取所有由特定用户回答的问题。 2)获取所有特定用户未回答的问题。
我能够通过以下条件达到第一个条件:
Question::whereHas(‘Answers’, function ($query) {
$query→where(‘user_id’, $user_id);
});
但是如何使用“ whereHas”满足第二个条件?
我尝试过:
Question::whereHas(‘Answers’, function ($query) {
$query→where(‘user_id’,’!=’ ,$user_id);
});
但是上面的查询是错误的,因为多个用户可以回答同一个问题。因此,如果多个用户(包括特定用户)回答了任何问题,它们也会被获取,这不是我要的。
在此先感谢您的帮助:)