viernes, 22 de mayo de 2020

Crear rol para admin y usuario regular

Suponiendo que ya tenemos montado un sistema en Laravel donde ya tenemos la parte administrativa por un lado con nuestro crud y por otro lado la parte de usuario comun.
Ahora, vamos a crear una tabla con migraciones que se llame 'rols' en plural y le vamos a agregar un campo que sea key para especificar si es admin o usuario, que sera de tipo string (10).
Y en la tabla de usuarios voy a agregar un campo que sea rol_id
Ahora vamos a crear un modelo que se va a llamar Rol
Ahora en el modelo de usuario vamos a crear la relacion hasOne, porque un usuario tiene un rol:
 En modelo User:
public function rol(){
 return $this->belongsTo(Rol::class);
}
importamos la clase rol arriba, en el modelo user, importante !.

Ahora vamos a tener que insertar en la tabla de roles, los dos roles que necesitamos en ste caso:
admin y regular.
Asi nos va a quedar el id 1 de la tabla con admin y el id 2 de la tabla con regular.

Y en registerController (si tenemos la autenticacion hecha que es el caso) tenemos que ir al metodo donde crea el usuario y especificarle un rol por defecto cuando se crea el usuario:

return User::create([
'name' => $data['name'],
'user_id' => 2,
...
]);

Y tenemos que ir al modelo de user en fillable y decirle que podemos insertar el rol_id

No hay comentarios:

Publicar un comentario

Creando plugin Wordpress - 03

  11- USUARIOS -Para crear un usuario lo mas facil desde el admin- FUNCIONES PARA AGREGAR USUARIO: wp_create_user ( string  $username , stri...