首页 / PHP / php – laravel中的复杂连接
php – laravel中的复杂连接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – laravel中的复杂连接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1684字,纯文字阅读大概需要3分钟。
内容图文
![php – laravel中的复杂连接](/upload/InfoBanner/zyjiaocheng/824/d9990979ae96439e8d7f9b9b4125fbce.jpg)
我尝试进行以下复杂的连接,以获得根据学生分部开始的所有科目
$studentID = Student::find($id);
$divisionID = Student::where('id', $studentID->id)->select('division_id')->pluck('division_id');
$payments = Payment::all();
$discounts = Discount::all();
// This the Big join to get all subjects that started according to the student's division
$subjectStart = SubjectStart::join('teacher_subject' ,'teacher_subject.id' ,'=','subject_start.teach_sub_id')
->join('subject' ,'subject.id' ,'=' , 'teacher_subject.subject_id')
->join('subject_division','subject_division.subject_id' ,'=' ,'subject.id')
->join('division' ,'division.id','=','subject_division.division_id')
->where('division.id' ,$divisionID)
->where('lecture_num' ,'>' , 0)
->get();
之后,我试图循环$subjectStart如下
@foreach($subjectStart as $st)
{{$st->id}}
{{$st->start_date}}
{{$st->lecture_num}}
.............
@endforeach
除了$st-> id之外,join的结果显示正确,显示为division_id
不是subject_start_id,例如如果除法_id = 5,则循环结果超过$subjectStart,$st-> id将是5,5,5,…..
有什么建议 ?
解决方法:
我解决了它只是使用select语句如下
// This the Big join to get all subjects that started according to the student's division
$subjectStart = SubjectStart::join('teacher_subject' ,'teacher_subject.id' ,'=','subject_start.teach_sub_id')
->join('subject' ,'subject.id' ,'=' , 'teacher_subject.subject_id')
->join('subject_division','subject_division.subject_id' ,'=' ,'subject.id')
->join('division' ,'division.id','=','subject_division.division_id')
->where('division.id' ,$divisionID)
->where('lecture_num' ,'>' , 0)
->select('subject_start.id', 'subject_start.teach_sub_id', 'subject_start.group_id','subject_start.lecture_num','subject_start.start_date')
->get();
内容总结
以上是互联网集市为您收集整理的php – laravel中的复杂连接全部内容,希望文章能够帮你解决php – laravel中的复杂连接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。