So I was always in a confusion regarding roles and permissions in Laravel. But I have come across different issues but I thought why not write something since it would even help me also. So most popular way of implementing roles and permissions is using https://spatie.be/docs/laravel-permission/v5/introduction by Spatie.
At first create a Model,Factory,Controller for both Roles and Users php artisan make:model Role -fms this creates factories,migration and seeder and seeders too
Here we see by assigning different role_id we have created 3 users with 3 roles User Creation Permission with Gate