I\'m curious why the Eloquent relationship for hasMany has a different signature than for belongsToMany. Specifically the custom join table name--
Try to understand with text and a figure.
One to One(hasOne) relationship:
One to many(hasMany):
Many to many(BelongsToMany):