如何检查用户是否有其他表中的记录与laravel雄辩?

问题描述:

我有三张桌子。如何检查用户是否有其他表中的记录与laravel雄辩?

Users: id|name 

Questions: id|name 

Answers: id|user_id|question_id 

现在我想检查登录的用户是否回答了任何问题。 这是我在控制器中的查询。

Question::orderBy('id','desc')->get(); 
    Answer::whereUserId(Auth:id()->get(); 

现在我怎么能匹配它在视图?

我不完全明白你的意思是“在视野中匹配”。

但在你的控制器,你可以这样做:

$answered = App\Answers::where("user_id",auth()->user()->id)->get(); 

但只是作为一个建议:我会做在用户模型中的hasMany关系,你才可以致电:

auth()->user()->answers; 

//

编辑:如果您想在视图中处理此问题,您可以编写:

@foreach($questions as $question) 
    @if($question->user_id == auth()->user()->id) 
    {{question->name}} 
    @endif 
@endforeach 

超级不雅。但可能是你的意思。

+0

我可以遍历我要检查,如果登录用户有回答任何具体问题或不 –

+0

请看看这个 https://kopy.io/qHVx9 –

+0

因此这将在views.Now问题检查每个用户,假设有1000个用户回答了这个问题? –