Normalmente, nos projetos que fazemos, existem associações entre usuários e funções(Roles), permissões, grupos. Normalmente fazemos isso para verificar os direitos de cada usuário, saber em que função ele está? Quais direitos? A que grupos você pertence? Agora irei criar esses relacionamentos no Laravel 6, esse post também é bem longo, acabo de compartilhar como reconhecer e fazer, o resto cada um pode desenvolver mais de acordo com a sua vontade!
No diagrama acima, vemos que: - O usuário tem muitas funções (Roles), ao mesmo tempo a função tem muitos usuários - Uma função tem muitas permissões (permissões) - O usuário pode pertencer a muitos grupos diferentes, um grupo tem muitos usuários - Em um grupo, haverá uma certa função
- Aqui, eu uso Auth no laravel para entrar e registrar por menos tempo # php artisan make: Auth - Estou aproveitando o cara do Auth para criar layouts estruturados disponíveis, por Xiu mais barato apenas na Ásia, mas: :) - Primeiro após o registro, vou mudar para casa, no roteador ('casa') quando vou mostrar os dados como este
V. Crie um controlador no Laravel
- Precisamos do Controller conforme abaixo, precisamos usar o Controller de qualquer modelo, basta criá-los.
+ HomeController.php (destinava-se a executar php artisan make: Auth )
- No código acima, eu chamo o link entre Usuário e Funções, Grupos para obter seus dados - Então eu retorno View ('home') para mostrar os dados conforme mostrado acima
- Em UserController.php, editei duas funções, function index () voltei para a interface add_role_user - E armazenamento de função (Request $ request) : usado para receber dados do formulário enviado e processar mais dados, em também não considero quaisquer condições aqui, você pode considerar as condições mais tarde
$role->permissions()->detach();//delete all relationship in role_permission
}
$role->permissions()->attach($request->permissions);//add list permissions
returnredirect()->route('home');
}
returnredirect()->route('home');
}
- Em RoleController.php também existem 2 funções ( índice, armazenamento ): + Primeiro eu recebo os dados do formulário, verifico se o role_id está nos dados + Se sim, continuo verificando os dados no relacionamento entre na tabela de (User & Role) -> essa é a tabela user_role nesse banco de dados, no laravel vem com um recurso que retorna o número de linhas de dados na tabela do relacionamento, com base no que processamos apenas.
Crie View Blade no Laravel
- Views / home.blade.php : abra este arquivo e edite-o da seguinte maneira:
Este post tem muitas coisas que ficaram inacabadas! Acabei de descrever para que possamos visualizar a conexão entre Usuário e Funções e Permissões, somente Grupos.