I learned a new design pattern today, fat model, skinny controller.

The goal is to put all database related logic inside the model. This greatly improve code reuse. When you do most of the work inside the controller, it's not always evident when you duplicate some code. By having more logic inside the model, each time you need to do something in the controller, it will be easier to use an existing function of your model.