Start with getting admin out of your mind forget all about the word admin. In one system an admin cannot do accounting for example.
Now set up proper authorization to determine what a logged-in user can or cannot do. The role has no significance as far as terminology whatsoever.
But what does matter is what can that person who is logged in with a certain role do or not do.
Bear in mind some people have more than one role.
So the trick is if a method requires a certain role, so let's say Bob logs in he has 2 roles assigned to him Chief scientist and janitor, and a method that needs to be acted upon requires the role janitor, Bob has one of these assigned roles, therefore Bob can do that method.
That is an extreme example, chief scientist and janitor but the example was to show you forget about the terminology worry about can the person with that role do that method.
Use Query scopes to fine tune who can do what.
And have you considered using Spatie. This has a quick Spatie example, and a scope example. https://gist.github.com/jimgwhit/ed44a6c81815804f1ab910ce9eb88d84
Apply your RBAC, the example is custom, but a scope would be similar whether using laravel or Spatie or custom. Is used to fine tune, otherwise Separate queries.