如何解决创建一个视图来管理权限
我正在尝试在我的网站上创建一个视图,管理员可以在其中管理用户的权限。 我在一些网站上看到您可以使用spatie创建这些权限,但是当我运行命令时:
composer require spatie/laravel-permission
composer require laravelcollective/html
我收到此错误:
The requested PHP extension ext-mysql * is missing from your system. Install or enable PHP's mysql extension.
我试图直接在终端上运行命令而不访问项目,但是这样做是不允许我进行迁移的。
我想知道是否还有另一种不涉及spartie的方法,或者是否有任何方法可以解决我遇到的问题。
用户控制器:
<?php
namespace App\Http\Controllers;
use App\Role;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class UsersController extends Controller
{
public function index(Request $request){
$users = User::orderBy('id','DESC')->paginate(5);
return view('users.index',compact('users'))
->with('i',(request()->input('page',1) - 1) * 5);
}
public function show($id){
$users = User::findorfail($id);
return view('users.show',compact('users'));
}
public function create(){
$roles=Role::pluck('name','name')->all();
return view('register.create',compact('roles'));
}
public function store(Request $request){
$this->validate($request,[
'name' => 'required','lastname'=> 'required','email'=> 'required|email|unique:users,email','password'=> 'required|same:confirm-password','roles'=> 'required',]);
$input=$request->all();
$input['password'] = Hash::make($input['password']);
$user = User::create($input);
$user->assignRole($request->input('roles'));
return redirect()->route('users.index')->with('success','User created successfully');
}
public function edit ($id){
$users = User:: findorfail($id);
$roles = Role::pluck('name','name')->all();
$userRole = $users->roles->pluck('name','name')->all();
return view('users.edit',compact('users','roles','userRole'));
}
public function destroy($id){
$users = User::findorfail($id);
$users->delete($id);
return redirect('/users')->with('User deleted correctly');
}
public function update (Request $request,$id){
$this->validate($request,]);
$input = $request->all();
if (!empty($input['password'])){
$input['password'] = Hash::make($input['password']);
}else{
$input = array_except($input,array('password'));
}
$user = User::find($id);
$user->update($input);
$user->assignRole($request->input('roles'));
return redirect('/users/'.$user->id)->with('User updated successfully');
}
}
路线文件:
<?PHP
use App\User;
use Illuminate\Http\Request;
Route::get('/home','ReturnsController@create')->middleware('auth');
Route::get('/home','ReturnsController@store')->middleware('auth');
Route::get('/register/create','UsersController@create');
Route::post('/register','UsersController@store');
Route::get('/users/create','UsersController@create');
Route::post('/users','UsersController@store');
Route::get('/users','UsersController@index');
Route::get('/users/{users}','UsersController@show');
Route::get('/users/{users}/edit','UsersController@edit');
Route::delete('/users/{users}/destroy','UsersController@destroy')->name('users.destroy');
Route::get('/users/{id}','UsersController@edit');
Route::resource('role','RoleController');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。