我有一个laravel数据库设计,其中每个结果都与问题有belongsToMany关系,每个问题都与主题有belogsTo关系。我想用laravel上的单个语句从结果中获取主题名称
我已经尝试了这个https://laravel.com/docs/5.6/eloquent-relationships#has-many-through从laravel文档
下面是我在结果模型中代码
public function questions(){
return $this->belongsToMany('App\questions', 'results_questions', 'result_id', 'questions_id');
}
问题模型编码
public function subject(){
return $this->belongsTo('App\Subject','subject_id');
}
这是我从文档中尝试的(不起作用)
public function subjects(){
return $this->hasManyThrough(
'App\Subject',
'App\Questions',
'subject_id', // Foreign key on question table...
'questions_id', // Foreign key on result table...
'id', // Local key on question table...
'id' // Local key on result table...
);
}
1条答案
按热度按时间0sgqnhkj1#
尝试从关系中删除第5和第6个参数,因为它们是可选的。另外,您的
Questions
模型应该是小写的吗?