title: hasMany vs belongsToMany in laravel 5.x
body: <p>I'm curious why the Eloquent relationship for <code>hasMany</code> has a different signature than for <code>belongsToMany</code>. Specifically the custom join table name-- for a system where a given <code>Comment</code> belongs to many <code>Role</code>s, and a given <code>Role</code> would have many <code>Comment</code>s, I want to store the relationship in a table called <code>my_custom_join_table</code> and have the keys set up as <code>comment_key</code> and <code>role_key</code>.</p>
  
  <pre><code>return $this-&gt;belongsToMany('App\Role', 'my_custom_join_table', 'comment_key', 'role_key'); // works
  </code></pre>
  
  <p>But on the inverse, I can't define that custom table (at least the docs don't mention it):</p>
  
  <pre><code>return $this-&gt;hasMany('App\Comment', 'comment_key', 'role_key');
  </code></pre>
  
  <p>If I have a <code>Role</code> object that <code>hasMany</code> <code>Comments</code>, but I use a non-standard table name to store that relationship, why can I use this non-standard table going one way but not the other?</p>