I'm on my phone right now, so I won't provide any links but do some Googling on the repository pattern. It's a pattern that is commonly used by Laravel developers that will solve the problems that you have.
The basic principle is that you add another layer of code between your controllers and models that will do the heavy logic. The model should not be handling file uploads and such.
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community