如何在laravel中获取一个表的值与其他表的列关系?

rjzwgtxy  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(133)

我的Laravel项目中有两个表:teacher_subjectsubjectteacher_subject表格有三栏:idteacher_tokensubject_token。主题表有三列:idsubject_tokensubject_nameteacher_subject表的subject_token引用subject表的subject_token。现在,我想得到subject_tokensubject_name,其中teacher_token为1。我想通过Laravel的关系方法得到它。但是,我不知道如何在teacher_subject模型和控制器中编写函数来获得subject_name。请告诉我如何在没有第三个表的情况下进行多对多关系或hasManyThrough关系?

kwvwclae

kwvwclae1#

我不确定我是否正确理解了你的问题,但这就是你想要达到的目标吗?

DB::table('teacher_subject')
->select('*')
->join('subject','subject.subject_token','=','teacher_subject.subject_token')
->where('teacher_subject.teacher_token','=',1)
->get();
xhv8bpkk

xhv8bpkk2#

好吧,据我所知,你当然不需要hasManyThrough()hasMany()就足够了。下面是一个只有两个表的解决方案。试试看,我不完全确定这是否是你想要的。
第一个
现在,您可以执行以下操作

$subject = Subject::with('teacherSubjects')->find(1);
dd($subject, $subject->teacherSubjects);

相关问题