我正在开发一个调查系统,但在通过另一个关系访问一个关系时遇到问题。 我有这些模型和这些关系
发布
public function survey()
{
return $this->belongsTo(Survey::class);
}
调查
public function surveyOptions()
{
return $this->belongsToMany(Survey_options::class);
}
public function surveyType()
{
return $this->belongsTo(Survey_type::class);
}
public function posts()
{
return $this->hasMany(Post::class);
}
调查类型
public function surveyOptions()
{
return $this->belongsToMany(Survey_options::class);
}
Survey_options
public function values()
{
return $this->hasMany(Option_value::class);
}
options_values
public function surveyOptions()
{
return $this->belongsTo(Survey_options::class);
}
Survey_Survey_options(枢轴)
我需要使用 eadger 加载进行查询,以便为我带来所有带有调查、调查选项、每个调查选项的评论数和选项值的帖子。像这样:
$post->survey->surveyOptions->options_values_count
我设法创建了这个查询,除了从每个 SurveyOption 获取 option_values 计数外,它对我有用。我该怎么做?
$posts = Post::with([
'survey' => function ($query) {
$query->withCount('totalSurveys');
},
'survey.surveyOptions',
'image',
'categories'
])
->withCount('comments')
->get();