我如何获得 Laravel 与其关系值的关系?
Posted
技术标签:
【中文标题】我如何获得 Laravel 与其关系值的关系?【英文标题】:How can i Get Laravel relationship with its relationship values? 【发布时间】:2020-01-15 06:03:14 【问题描述】:我有一个 laravel 数据库设计,其中每个结果都与问题有 belongsToMany 关系,每个问题都与主题有 belogsTo 关系。我想用 laravel 上的单个语句从结果中获取主题名称
我已经从 laravel 文档中尝试过这个 https://laravel.com/docs/5.6/eloquent-relationships#has-many-through
这是我的结果模型代码
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...
);
**strong text**
【问题讨论】:
【参考方案1】:尝试从关系中删除第 5 和第 6 个参数,因为它们是可选的。另外,你的Questions
模型应该是小写的吗?
public function subjects()
return $this->hasManyThrough(
'App\Subject',
'App\questions', //*Should this be lowercase?*
'subject_id', // Foreign key on question table...
'questions_id', // Foreign key on result table...
);
【讨论】:
没问题,很高兴我能帮上忙。以上是关于我如何获得 Laravel 与其关系值的关系?的主要内容,如果未能解决你的问题,请参考以下文章