如何获取Laravel关系及其关系值?

o2rvlv0m  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(115)

我有一个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...
    );
}
0sgqnhkj

0sgqnhkj1#

尝试从关系中删除第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...
    );
}

相关问题