It really depends on how different each model is. If they share similar data in the same table, then I'd suggest going down the roles route. It is generally the easiest way to manage everything.
We have built a system quite similar recently. We had tutors, students, parents, schools, admin and managers. All had their own roles.
We ended up using Cartalyst packages which include Sentry for user management (the 'pro' version is called Sentinel). It made it a doddle to set up.
There are a few other packages out there that help with roles and permissions. Worth taking a look.
Personally, I would always look to go down the roles route rather than seperate models. Only as a last resort would. Break them out.
Hope it helps.
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community