title: Laravel ManyToMany relationship on same model
body: <p>I'm trying to make a bidirectional ManyToMany relationship on my Tag model, but I ran into this "issue".</p>
  
  <p>My model looks like this:</p>
  
  <pre><code>
  &lt;?php
  
  namespace App;
  
  use Illuminate\Database\Eloquent\Model;
  
  class Tag extends Model
  {
      protected $table = 'tags';
      public $timestamps = false;
  
      public function tags()
      {
          return $this-&gt;belongsToMany(Tag::class, 'tag_tag', 'tag_one_id', 'tag_two_id');
      }
  
  }
  
  </code></pre>
  
  <p>So at the moment let's say I have Tag1 and Tag2 in my tags table, and then I'll relate the Tag2 with the Tag1.
  Now my pivot table will look like this:</p>
  
  <pre><code>+----+------------+------------+
  | id | tag_one_id | tag_two_id |
  +----+------------+------------+
  | 1  | 1          | 2          |
  +----+------------+------------+
  </code></pre>
  
  <p>When I try this code:</p>
  
  <pre><code>$tag = Tag::find(1);
  $tag-&gt;tags()-&gt;get();
  </code></pre>
  
  <p>I get the Tag2 instance, and it is correct.</p>
  
  <p>But when I try to run this code:</p>
  
  <pre><code>$tag = Tag::find(2);
  $tag-&gt;tags()-&gt;get();
  </code></pre>
  
  <p>I would like to receive the Tag1 instance, but I don't.</p>
  
  <p>Is it possible to get it done with Laravel default Eloquent using just one method on the model?</p>