Php 根据另一个雄辩查询的结果在循环中运行雄辩并在刀片中显示列表
我有一个查询,它使用foreach循环来迭代并获取每个学生的学生id,从而获取学生和Iam的列表 在foreach循环中,我有另一个计算学生分数的查询。在计算学生分数时,我需要来自第一次查询的学生id 逻辑 现在的问题是,在blade中只有一个学生出现,但我需要显示一个学生查询中所有学生的列表。您正在覆盖$student\u average每个循环,因此只有最后一个循环的内容存储在$student\u average中。您需要改用数组 $student_平均值=[]; foreach$student作为$student{ $student_averages[]=DB::选择…您的查询; } 返回视图“分析.视图测试”,压缩“学生平均值”; 然后,您将获得所有学生的平均成绩,并可以在视图中循环查看。您应该这样做 //创建一个数组来存储值 $student_average=[]; foreach$student作为$student{ //将结果推送到数组 $student_average[]=DB::selectDB::rawselect student_id,roundSUMt.mark/'5'average_mark from 从标记中选择marks.student_id,ROUNDAVGmark作为标记 内部联接教学加载在教学加载上。id=marks.teaching\u load\u id 内部连接主题上的主题。id=教学\u负载。主题\u id 其中marks.student_id=“$student”和marks.assessment_id=1 按主题分组\u id T }Php 根据另一个雄辩查询的结果在循环中运行雄辩并在刀片中显示列表,php,mysql,laravel,eloquent,laravel-blade,Php,Mysql,Laravel,Eloquent,Laravel Blade,我有一个查询,它使用foreach循环来迭代并获取每个学生的学生id,从而获取学生和Iam的列表 在foreach循环中,我有另一个计算学生分数的查询。在计算学生分数时,我需要来自第一次查询的学生id 逻辑 现在的问题是,在blade中只有一个学生出现,但我需要显示一个学生查询中所有学生的列表。您正在覆盖$student\u average每个循环,因此只有最后一个循环的内容存储在$student\u average中。您需要改用数组 $student_平均值=[]; foreach$stude
您正在覆盖循环中的$student_平均值。你需要创建一个数组来循环使用它。代码正在运行,谢谢你让我知道为什么只返回一个用户的逻辑。谢谢,它正在运行。
$students = DB::table('grades_students')
->join('users', 'grades_students.student_id', '=', 'users.id')
->join('grades', 'grades_students.grade_id', '=', 'grades.id')
->where('grades.stream_id', $request->stream_name)
->get()->pluck('student_id');
foreach ($students as $student ) {
$student_average=DB::select(DB::raw("select student_id, round((SUM(t.mark))/'5') average_mark from (
select marks.student_id, ROUND(AVG(mark)) as mark from marks
INNER JOIN teaching_loads ON teaching_loads.id=marks.teaching_load_id
INNER JOIN subjects ON subjects.id=teaching_loads.subject_id
where marks.student_id = '$student' AND marks.assessement_id=1
GROUP BY subject_id
)t "));
}
return view('analytics.view-test', compact('student_average'));