laravel - 显示学生使用 laravel eloquent 提供的所有科目
问题描述
我已经完成了一对多的关系,但是当我在视图中循环浏览它时,即使我有多个主题,也只会显示一个主题。
这就是我在控制器中所做的
$broadsheet = Broadsheet::with(['subject', 'session', 'term', 'student', 'classarm'])
->where('session_id', $request->sessions)
->where('term_id', $request->terms)
->where('class_arm_id', $request->classarms)
->selectRaw('sum(total) as totals, count(subject_id) as countrow, student_id, subject_id, session_id, term_id, class_arm_id, total')
->groupBy('student_id')
->orderBy('totals', 'desc')
->get();
return view('broadsheet.index')->with('broadsheet', $broadsheet);
这是索引视图
@extends('layouts.app')
@section('content')
{{--@foreach($broadsheet as $subjects)
@foreach ($subjects->subject as $sub)
<th> {{ strtoupper($sub->subject->subject_name) }}</th>
@endforeach
@endforeach--}}
<div class="table-responsive">
<table class="table table-striped table-sm">
<thead>
<tr>
@foreach($broadsheet as $subject)
<th> {{ strtoupper($subject->subject->subject_name) }}</th>
@endforeach
<th>TOTAL</th>
<th>AVERAGE</th>
<th>POSITION</th>
</tr>
</thead>
<tbody>
@foreach($broadsheet as $result)
<tr>
<td>{{ $result->total }}</td>
<td>{{ $result->totals }}</td>
<td>{{ number_format($result->totals/$result->countrow,2) }}</td>
<td>{{ $i++ }}</td>
<td>{{ $result->exams }}</td>
<td>{{ $result->total }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endsection
这是我的 Broadsheet 架构
class Broadsheet extends Model
{
use HasFactory;
protected $fillable = [
'student_id',
'subject_id',
'session_id',
'term_id',
'class_arm_id',
'subject_total',
];
public function student()
{
return $this->belongsTo(Student::class, 'student_id');
}
public function subject()
{
return $this->belongsTo(Subject::class, 'subject_id');
}
public function session()
{
return $this->belongsTo(Session::class, 'session_id');
}
public function term()
{
return $this->belongsTo(Term::class, 'term_id');
}
public function classarm()
{
return $this->belongsTo(ClassArm::class, 'class_arm_id');
}
}
我想显示这样的学生结果 预期结果
拜托,我真的需要帮助才能让它工作,因为任何帮助都将不胜感激。我最近才开始学习 laravel。我真的不知道问题出在哪里
解决方案
推荐阅读
- python - Use Ipython-sql with snowflake and externalbrowser authenticator
- laravel - 如何在 laravel 中格式化时间戳?
- javascript - if 语句在不应该执行的时候执行
- sql - SQL Server:根据列值分配给不同的变量
- if-statement - 在 if-condition SAS 下替换列中的值
- javascript - 当我尝试运行 ajax 调用时,我收到一条错误消息,提示未定义
- android - Facebook 登录被禁用,现在它抛出错误
- chart.js - chart.js - 图例位置和排列
- python - 有没有更好的方法将列表中的条目添加到字典中?
- regex - 非捕获组