如何解决试图在 Laravel 中创建一个禁止按钮不要得到任何错误只是找不到 - Laravel 8
这是我的控制器方法
public function blockUser(User $user)
{
$user = User::findOrFail($user->id);
$user->blocked_at = Carbon::now();
$user->save();
return Redirect()->route('admin.users.index')->with('User has been blocked');
}
这是我的 web.php
Route::group(['middleware' => ['admin']],function () {
Route::get('/admin',[App\Http\Controllers\HomeController::class,'adminView'])->name('admin.view');
Route::get('/admin/users',[App\Http\Controllers\UserController::class,'index'])->name('admin.users.index');
Route::delete('/admin/users/{user}','adminDelete'])->name('admin.users.destroy');
Route::get('/admin/posts',[App\Http\Controllers\AdminController::class,'index'])->name('admin.posts.index');
Route::put('/admin/users/{users}','blockUser'])->name('admin.users.ban');
});
这是我的刀
<td>
<button type="button" class="btn btn-sm btn-outline-danger" onclick="event.preventDefault(); document.getElementById('ban-user-from-{{ $user->id }}').submit()">
<i class="fas fa-ban" title="Ban"></i>
</button>
<form id="ban-user-from-{{ $user->id }}" action="{{ route('admin.users.ban',[$user->id]) }}" method="POST" style="display: none">
@csrf
@method("PUT")
</form>
</td>
我的数据库中有一个 blocks_at 列,并且已经完成了中间件和内核的功能。如果我将今天日期手动添加到该字段的数据库中,则用户将被阻止,并且当他们尝试登录时会出现一条消息。但是,我现在正在尝试为管理面板创建一个按钮,以便管理员可以阻止用户。
解决方法
更改您的控制器:
public function blockUser(Request $request)
{
$user = User::findOrFail($request->users);
$user->blocked_at = Carbon::now();
$user->save();
return Redirect()->route('admin.users.index')->with('User has been blocked');
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。