少し問題があります。私のコードは機能していますが、適切な方法で実行していないと思います。
私の GradeController には、次のコードがあります。
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
if(auth()->user()->hasRole('Student')) {
$subjects = Subject::all();
return view('grades.student.index', compact('subjects'));
}
}
そして、私の見解では、指定されたユーザーに属するグレードを次のように取得しています。
@foreach($subject->grades->where('student_id', '=', auth()->user()->id) as $grade)
<span class="badge badge-primary">
{{ $grade->value }}
</span>@endforeach
これは、つまり Laravel です。これを行うためのより良い方法はありますか? サブジェクトに属するすべての成績を取得してから ID を探すのは、あまり「効果的」ではないと思うからです。
良い一日を過ごしてください。