laravel 5.6 eloquent relaciones many to many

vamos a hacer que un usuario pueda tener varios roles
entonces creamos la tabla (por convencion en singular y en orden alfabetico)

php artisan make:migration create_user_role_table

en este caso no lo hicimos en orden alfabetico, pero no importa, se le debe indicar el nombre de la tabla al momento de definir la relacion

entonces en User.php

    public function roles(){
        return $this->belongsToMany(Role::class,'user_role');
    }

    public function hasRoles(array $roles)
    {
        foreach ($roles as $role) {
            foreach ($this->roles as $userRole) {
              if($userRole->name == $role){
                return true;
              }
            }
        }
        return false;
    }


en la vista views/user/index.blade,php
..
<td>
@foreach($user->roles as $role)
{{$role->display_name}}
@endforeach
</td>
..

No hay comentarios:

Publicar un comentario

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable