Laravel-在另一个表中获取多对多关系以及条件检查


Laravel - getting many to many relation along with condition check in another table

我使用透视表question_user与用户和问题表建立了多对多关系。它用于将问题分配给用户。此外,我还有另一个表,其中存储了user_id和question_id的答案。如何使用单个查询查询未回答的用户问题?当我尝试以下查询时,我会得到分配给用户的所有问题,包括已回答的问题。

$questions = Question::leftJoin('answers', 'answers.question_id', '=', 'questions.id')
            ->leftJoin('question_user', 'questions.id' ,'=','question_user.question_id')
            ->where('question_user.user_id',$user->id)->where('answers.question_id','!=','question_user.question_id')
            ->select('questions.*')->groupBy('questions.id')->paginate(30);
$unAnsweredQuestion =
    Question::whereNotIn("id", DB::raw("select question_id from question_user where user_id ={$user->id}"))
               -> select('question.*') -> paginate(30);