title: Call to undefined method Illuminate\Database\Query\Builder::post()
body: <p>I have a problem with using the query builders that give me the undefined method error for using <code>post()</code> in the routes file.</p>
  
  <p>Usually I use the return of </p>
  
  <pre><code>User::find($id)-&gt;post; 
  </code></pre>
  
  <p>but when I call <code>post</code> as a function, it doesn't work and gives me:</p>
  
  <blockquote>
    <p>Call to undefined method Illuminate\Database\Query\Builder::post()</p>
  </blockquote>
  
  <p><strong>User Model</strong></p>
  
  <pre><code>&lt;?php
  
  namespace App;
  
  use Illuminate\Foundation\Auth\User as Authenticatable;
  
  class User extends Authenticatable
  {
  
  
    protected $fillable = [
      'name', 'email', 'password',
   ];
  
   protected $hidden = [
       'password', 'remember_token',
   ];
  
  
   protected function post()
   {       
       return $this-&gt;hasOne('App\Post');  
   }
  
   }
  </code></pre>
  
  <p><strong>Routes</strong>
        
  
  <pre><code>  Route::get('/', function () {
    return view('welcome');
    });
  
  
  
    Route::get('/user/{id}/post',function($id){
  
    return User::find($id)-&gt;post()-&gt;get();    
  
    });
  </code></pre>