1. Update Database Table User add field is_role for user, admin and super admin
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->tinyInteger('is_role',4)->default(0)->comment('0:user, 1:admin, 2:super admin');
$table->rememberToken();
$table->timestamps();
});
2. Create Register form for Register User can select Super Admin, Admin, User
3. Create Route in web.php(Routes)
Route::get('register', [AuthController::class, 'registration']);
Route::post('register_post', [AuthController::class, 'registration_post']);
4. Create Function registration, and registration_post in App\Http\Controller\AuthController.php
Function registration is use for view register form and registration_post function for instert data to table user.
use App\Models\User;
use Str;
use Hash;
public function registration(){
return view('auth.registration')
}
public function registration_post(Request $request){
$user = request()->validate([
'name' => 'required',
'email' => 'required|unique:users',
'password' => 'required|min:6',
'confirm_password' => 'required|min:6|same:password',
'is_role' => 'required',
]);
$user = new User;
$user->name = trim($request->name);
$user->email = trim($request->email);
$user->password = Hash::make($request->password);
$user->is_role = trim($request->is_role);
$user->remember_token= Str::random(50);
$user->save();
return redirect('login')->with('success','Register successfull');
}