tenants()->attach($tenant) instead of $tenant->resources()->attach($centralResource) (same for detaching). To make this work both ways, you can make your pivot implement PivotWithRelation and return the related model in getRelatedModel() or extend MorphPivot.' ); } }