【发布时间】:2020-07-05 02:42:46
【问题描述】:
我被困住了。描述我的问题的最简单方法是上传屏幕截图;)
我正在实施缺勤系统。这些红色徽章在学生缺席时显示,在学生在场时显示灰色。
我想将这三行显示为一行,因为它们具有相同的“created_at”字段,但老实说,我不知道该怎么做。所以请帮助我,如果可以的话:)
这是我的源代码:
(CreateAbsencesTable.php)
public function up()
{
Schema::create('absences', function (Blueprint $table) {
$table->increments('id');
$table->integer('student_id')->unsigned();
$table->integer('teacher_id')->unsigned();
$table->integer('lesson')->unsigned();
$table->string('status');
$table->string('comment')->nullable();
$table->timestamps();
});
}
(AbsenceController@index)
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
if (auth()->user()->hasRole('student')) {
$absences = Absence::orderBy('created_at')->where('student_id', auth()->user()->id)->get();
// dd($absences);
return view('absences.index', compact('absences'));
}
}
(资源/视图/缺席/index.blade.php)
@role('student')
<table class="table table-borderless table-striped shadow-lg mb-5">
<thead>
<tr>
<th class="align-middle pl-3 w-25">{{ __('Date') }}</th>
<th class="align-middle pl-3">{{ __('Lesson') }}</th>
</tr>
</thead>
<tbody>
@foreach ($absences as $absence)
<tr>
<td class="align-middle pl-4 w-25">{{ $absence->created_at }}</td>
<td class="align-middle pl-4">
@for ($i = 1; $i <= 8; $i++)
@if ($i == $absence->lesson)
<span class="badge badge-pill badge-danger my-second-badge">
{{ $i }}
</span>
@else
<span class="badge badge-pill badge-secondary my-second-badge">
{{ $i }}
</span>
@endif
@endfor
</td>
</tr>
@endforeach
</tbody>
</table>
@endrole
感谢您的帮助。祝你有美好的一天!
【问题讨论】:
标签: php laravel eloquent laravel-blade