Laravel 获取用户的调查

Laravel 获取用户的调查,laravel,eloquent,Laravel,Eloquent,考虑到以下问题,我一直在想这个问题 $survey = $user->surveys() ->where('survey_id', $survey) ->where('user_id', $user)->first(); 如果我问用户的调查结果。是 ->where('user_id', $user) 必要吗? 好像我已经在询问该用户的调查了。您的调查关系应该已经自动将->where('user\u id',$user)添加到查询中,如果配置正确的

考虑到以下问题,我一直在想这个问题

$survey = $user->surveys()
    ->where('survey_id', $survey)
    ->where('user_id', $user)->first();
如果我问用户的调查结果。是

->where('user_id', $user)
必要吗?
好像我已经在询问该用户的调查了。

您的
调查
关系应该已经自动将
->where('user\u id',$user)
添加到查询中,如果配置正确的话。因此,您不再需要自己添加查询的这一部分

这是假设您的关系是按照下面的代码设置的,但很可能是(我知道第二个和第三个参数是可选的,在本例中不会改变任何行为,我在这里添加它们只是为了清楚):


如果您通过提供任意调查id阻止用户查找不属于他们的调查,那么这是有意义的。您的关系是如何建立的?
public function surveys()
{
    return $this->hasMany(Survey::class, 'survey_id', 'id'); 
}