Many To Many: Defining Custom Intermediate Table Models

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
    /**
     * The users that belong to the role.
     */
    public function users()
    {
        return $this->belongsToMany('App\User')->using('App\UserRole');
    }
}
<?php

namespace App;

use Illuminate\Database\Eloquent\Relations\Pivot;

class UserRole extends Pivot
{
    //
}

Many To Many: Defining Custom Intermediate Table Models — Structure map

Clickable & Draggable!

Many To Many: Defining Custom Intermediate Table Models — Related pages: