hasMany vs belongsToMany in laravel 5.x
<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>