title: withTrashed on hasManyThrough relation
body: <p>How can <code>withTrashed</code> be applied on a <code>hasManyThrough</code> relation ?</p>
  
  <pre><code>$this-&gt;hasManyThrough('App\Message', 'App\Deal')-&gt;withTrashed();
  </code></pre>
  
  <p>returns </p>
  
  <blockquote>
    <p>Call to undefined method Illuminate\Database\Query\Builder::withTrashed()</p>
  </blockquote>
  
  <p>when i'm doing:</p>
  
  <pre><code>$messages = Auth::user()-&gt;messages()-&gt;with('deal')-&gt;orderBy('created_at', 'DESC')-&gt;get();`
  </code></pre>
  
  <p>Here is my Deal model:</p>
  
  <pre><code>&lt;?php
  
  namespace App;
  
  use Illuminate\Database\Eloquent\Model;
  use Illuminate\Database\Eloquent\SoftDeletes;
  
  class Deal extends Model
  {
  
      use SoftDeletes;
  
      /* ... */
  
      protected $dates = ['deleted_at'];
  
      public function user() {
          return $this-&gt;belongsTo('App\User');
      }
  
      public function messages() {
          return $this-&gt;hasMany('App\Message'); // I've tried to put withTrashed() here, there is no error but it doesn't include soft deleting items.
      }
  }
  </code></pre>