title: Retrieve model with its recursive relationship in a single model
body: <p>I have two Models, Account and Contractor. An account(user) can be a contractor so I created a recursive relationship. The Contractor model look like this.</p>
  
  <pre><code>class Contractor extends Model
  {
      protected $table = "contractors";
  
      public function user()
      {
          return $this-&gt;belongsTo("\App\Account", "user_id", "id");
      }
  
  }
  </code></pre>
  
  <p>Having in mind that an account has the next fields</p>
  
  <p><strong>Account</strong></p>
  
  <ul>
  <li>id</li>
  <li>passwd</li>
  <li>name</li>
  </ul>
  
  <p>I would like to retrieve contractors with its fields and the user fields merged just as if they where the same, like that:</p>
  
  <p><strong>Contractor</strong></p>
  
  <ul>
  <li>id</li>
  <li>passwd</li>
  <li>name</li>
  <li>contractor_type</li>
  </ul>
  
  <p>I don't want to do:</p>
  
  <pre><code>\App\Contractor::with('user')-&gt;first();
  </code></pre>
  
  <p>I would like to retrieve all fields with</p>
  
  <pre><code>\App\Contractor::first()
  </code></pre>
  
  <p>is possible to achieve that by overriding some method or in some tricky way?</p>