Id'喜欢使用CRUD控制器来处理管理员配置文件。我创建了Controller并像这样编辑了route / web.php。
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'as' => 'admin.', 'middleware' => ['auth:admin']], function(){
Route::resource('profile', 'ProfileController')->only(['index', 'edit', 'update', 'destroy']);
});
这将创建以下路线。
teacher/profile -> teacher.profile.index
teacher/profile/{profile} -> teacher.profile.destroy
teacher/profile/{profile} -> teacher.profile.update
teacher/profile/{profile}/edit -> teacher.profile.edit
因为我是通过会话获取admin_id的,所以不需要通过profile参数通过URL获取它。我知道我可以忽略该参数,但这会使URL不再冗长。 是否有可能从路线中删除{profile}参数,所以我的路线类似于 teacher / profile / edit ,而不是 teacher / profile / 12345678 / edit ?
答案 0 :(得分:2)
对于单独的操作,您可以使用单独的路由而不是资源。 喜欢
For index operation you can use:-
Route::get('profile', 'ProfileController@index');
For destroy operation you can use:-
Route::delete('profile', 'ProfileController@destroy');
For edit operation you can use:-
Route::put('profile', 'ProfileController@edit');
您可以在输入中或从会话中发送admin_id。 希望它对您有用:)
答案 1 :(得分:0)
我建议您使用“ Slugs”代替个人资料ID
答案 2 :(得分:0)
是的,如果您首先在控制器中调用所需的配置文件,则可以删除{profile}
部分,例如:
public function edit(){
$teacher = Auth::user();
return view('teacher.profile.edit', compact('teacher'));
}
在查看页面(教师/个人资料/编辑)中,您可以像这样调用数据:
<form method="post" action="{{ route('teacher.profile.update', $teacher->id) }}">
@method('PATCH')
@csrf
ID: <input type="text" name="id" value={{ $teacher->id}} />
<button type="submit">Update</button>
</form>
我希望能有所帮助。干杯!