gpt4 book ai didi

php - laravel 中的复杂连接

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:13 26 4
gpt4 key购买 nike

我尝试进行以下复杂连接,以获取根据学生的分部开始的所有科目

$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 显示为 division_id 外,join 的结果正确显示不是 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 中的复杂连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30044168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com