title: In a MVC application, should the controller or the model handle data access?
body: <p>We are having some philosopical debates in our company about where the calls to the Business Logic should be to perform CRUD operations.</p>
  
  <p>I believe that the Model should consist of your data structure and that the controller should be responsible for populating the data.</p>
  
  <p>My co-worker believes that all population should be done in the model class itself, and simply called by the controller.  This keeps the controller neat and clean (but, in my opinion, clutters up the model).</p>
  
  <p>He also believes that any call that returns a Json object should happen in the model, not in the controller.  The model would return an array to the controller, which would then return this as a Json object.</p>
  
  <p>What are some different pros/cons to each and is there a right or wrong way to do this?</p>