Search code examples
phplaravelmany-to-manyrelationship

Laravel Many to Many Pivot on existing Pivot


I have a situation in Laravel 5.1 where I would like to add a many-to-many relationship to an existing relationship. According to the diagram below, I already have all the items in green working.

Diagram

The issue is that since there isn't a primary key on the issue_person table, I don't know how to add a many-to-many relationship to Users. Does anyone know how I would go about accomplishing this?


Solution

  • So it appears that a simple answer to this is to write a migration that adds a primary key to the original issue_person pivot table, and then set up a many-to-many relationship between issue_person and user using the position_user table.

    My migration looks like this:

    public function up()
    {
        Schema::table('issue_person', function (Blueprint $table) {
            $table->increments('id');
        });
    }
    
    public function down()
    {
        Schema::table('issue_person', function (Blueprint $table) {
            $table->dropColumn('id');
        });
    }