我正在制作一个教授可以登录的大学管理网站。
我有一个仪表板,应该放置我的动态生成的按钮:(现在它只有虚拟按钮!)
<div class="container d-flex flex-column align-items-center justify-content-center">
<h1>IA DASHBOARD</h1>
<br>
<div class="grid2">
<a href="{{ url('/subcode/{subcode}') }}" ><button class="btn btn-outline-primary btn-custom-outline-primary btn-custom">SUBCODE 1</button></a>
<a href="{{ url('/subcode/{subcode}') }}" ><button class="btn btn-outline-primary btn-custom-outline-primary btn-custom">SUBCODE 2</button></a>
<a href="{{ url('/subcode/{subcode}') }}" ><button class="btn btn-outline-primary btn-custom-outline-primary btn-custom">SUBCODE 3</button></a>
</div>
数据库中的表:
- 该表
iamarks
包含将显示的数据(学生信息和分数)/subcode/{subcode}
缩小为仅分配给当前登录教授的班级中的学生的记录。 classroom_mappers
是用于将教授映射到具有主题的教室的表格。它确保一个教室只有一位教授特定学科。
当前在我的web.php中的路线:
route::get('/ia', 'IAController@show')->middleware('auth');
Route::get('/subcode/{subcode}', 'IAController@showTable')->middleware('auth');
...这些是我的控制器内部的方法:
//shows buttons to the user:
public function show(){
$subcodes = DB::table('classroom_mappers')
->select('subcode')
->where([['PID','=', auth()->user()->PID]])
->get();
return view('ia',compact('subcodes'));
}
//when user clicks a button, subcode is to be generated and a table is to be shown:
//it works, I tried it by manually typing in subcode value in URL.
public function showTable($subcode){
$sem = DB::table('classroom_mappers')
->where([['PID','=', auth()->user()->PID],
['subcode','=',$subcode]])
->pluck('semester');
$division = DB::table('classroom_mappers')
->where([['PID','=', auth()->user()->PID],
['semester','=',$sem],
['subcode','=',$subcode]])
->pluck('division');
$data = DB::table('iamarks')
->where([['semester','=',$sem],
['division','=',$division],
['subcode','=',$subcode]])
->get();
return view('subcode',compact('data'));
}
我的问题:
为了能够{subcode}
在 URL 中动态生成,我想使用数据在仪表板中创建按钮$subcodes
。控制器移交$subcodes
(一组属于已登录教授的主题代码),这些代码将由该方法制成按钮show()
。
按钮应具有名称{subcode}
,单击时应在 URL 中附加与{subcode}
.
- 如何
$subcodes
动态使用和制作按钮? - 如何确保为一个用户制作的按钮对另一个用户不可见?