title: Using a polymorphic relation in a child model causes an infinite loop?
body: <p>This question was already asked <a href="https://stackoverflow.com/questions/23779346/associating-a-child-model-in-a-polymorphic-relationship-causes-an-infinite-loop">here</a> but it received no answer. Now I face the same problem but in laravel 5.4. I have a model <code>Book</code>, a model <code>ReadingSession</code> and a model <code>Comment</code>. A book has many reading sessions and has many comments but the reading session can also have comments. So I have my relations defined like this:</p>
  
  <p>Book.php</p>
  
  <pre><code>protected $with = [
      'author',
      'readingSessions',
      'userRating',
      'ratings',
      'comments'
  ];
  
  public function users()
  {
      return $this-&gt;belongsToMany(User::class, 'user_book');
  }
  
  public function author()
  {
      return $this-&gt;belongsTo(Author::class);
  }
  
  public function allReadingSessions()
  {
      return $this-&gt;hasMany(ReadingSession::class);
  }
  
  public function readingSessions()
  {
      return $this-&gt;hasMany(ReadingSession::class)
                  -&gt;where('user_id', Auth::user()-&gt;id);
  }
  
  public function ratings()
  {
      return $this-&gt;hasMany(Rating::class);
  }
  
  public function userRating()
  {
      return $this-&gt;hasMany(Rating::class)
                  -&gt;where('user_id', Auth::user()-&gt;id);
  }
  
  public function comments()
  {
      return $this-&gt;morphMany('App\Models\Comment', 'commentable');
  }
  </code></pre>
  
  <p>ReadingSession.php</p>
  
  <pre><code>protected $with = ['comments'];
  
  public function user()
  {
      return $this-&gt;belongsTo(User::class);
  }
  
  public function book()
  {
      return $this-&gt;belongsTo(Book::class);
  }
  
  public function comments()
  {
      return $this-&gt;morphMany('App\Models\Comment', 'commentable');
  }
  </code></pre>
  
  <p>Comment.php</p>
  
  <pre><code>public function commentable()
  {
      return $this-&gt;morphTo();
  }
  </code></pre>
  
  <p>These seems to create an infinite loop. Can anyone hint me on what I'm doing wrong?</p>