title: Should ORM calls be inside the Model or Controller?
body: <p>I'm using Laravel, with Eloquent, the default ORM.</p>
  
  <p>The documentation alludes to the fact that ORM calls are fine in the Controller, but that doesn't sit right.</p>
  
  <p>For example, let's say I want to get a User.  <code>User::findOrFail($id)</code> is the code I need.  The <a href="http://laravel.com/docs/5.1/controllers" rel="nofollow">documentation</a> has this inside the Controller.</p>
  
  <p>Imagine I have this bit of code in 100 places throughout the project and I need to hang another check off it, perhaps to get the user who also has a flag against their account.  This is a bit of a hassle, but were it in the model I would simply update the model method.</p>
  
  <p>An example model method in this instance:</p>
  
  <pre><code>function get_user_by_id($id)
  {
      return User::findOrFail($id);
  }
  </code></pre>
  
  <p>The downside to this is that the models will soon become huge.</p>
  
  <p>So, what is the best-practice here?</p>