title: How to use Relation::morphMap() for diffrent class
body: <p>I am using laravel polymorphic relation. 
  I have defined two morphTo relations for two purpose.
  My question is that ,but when I am defining the key of Relation::morphMap() function array , then my array key is same for one case, so I want to know is there any way by which I can specify that I am defining relation for specific class. </p>
  
  <p><strong>My first relation....</strong></p>
  
  <p>Package.php</p>
  
  <pre><code>public function provider()
  {
      return $this-&gt;morphTo(null, 'map_type_id', 'map_id');
  }
  </code></pre>
  
  <p>Venue.php</p>
  
  <pre><code>public function packages()
  {
      return $this-&gt;morphMany(VendorPackage::class, 'map', 'map_type_id', 'map_id');
  }
  </code></pre>
  
  <p>Vendor.php</p>
  
  <pre><code>public function packages()
  {
      return $this-&gt;morphMany(VendorPackage::class, null, 'map_type_id', 'map_id');
  }
  </code></pre>
  
  <p>I want to set the key to compare with <strong>map_type_id</strong> so I am setting the key in service provider.</p>
  
  <pre><code>Relation::morphMap([
                             config('evibe.roles.planner')        =&gt; \Vendor::class,
                             config('evibe.roles.artist')         =&gt; \Vendor::class,
                             config('evibe.roles.venue')          =&gt; \Venue::class,
                         ], false);
  </code></pre>
  
  <p><strong>My 2nd morphTo relation</strong></p>
  
  <p>Ticket Booking.php</p>
  
  <pre><code>public function provider()
  {
      return $this-&gt;morphTo(null, 'map_type_id', 'map_id');
  }
  </code></pre>
  
  <p>Venue.php</p>
  
  <pre><code>public function bookings()
  { 
      return $this-&gt;morphMany(TicketBooking::class,null,'map_type_id','map_id');
  }
  </code></pre>
  
  <p>Decors.php</p>
  
  <pre><code>public function bookings()
  {
      return $this-&gt;morphMany(TicketBooking::class,null,'map_type_id','map_id ');
  }
  </code></pre>
  
  <p>Now again I have to define the morphTo in service provider because I am not using the default Model name.</p>
  
  <p>so my morphTo in service providers became like this.</p>
  
  <pre><code>Relation::morphMap([
                             config('evibe.roles.planner')        =&gt; \Vendor::class,
                             config('evibe.roles.artist')         =&gt; \Vendor::class,
                             config('evibe.roles.venue')          =&gt; \Venue::class,
                             config('evibe.ticket_type.venues')   =&gt; \Venue::class,
                             config('evibe.ticket_type.decors')   =&gt; \Decor::class
                         ], false);
  </code></pre>
  
  <p>Now my problem is that key  <strong>config('evibe.roles.planner')</strong>  and <strong>config('evibe.ticket_type.venues)</strong> has the same value 3, so when both things is accessed by the relationship then it is throwing error, because array have same key.</p>
  
  <p>So I want to ask is there any other way to define different morphMap for different relationship.</p>