Need help with nova-attach-many?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

202 Stars 69 Forks MIT License 88 Commits 11 Opened issues


BelongsToMany create / edit form component for Nova

Services available


Need anything else?

Contributors list

Nova Attach Many

Latest Version on Github Total Downloads Twitter Follow

Belongs To Many create & edit form UI for Nova. Enables attaching relationships easily and includes validation.



composer require dillingham/nova-attach-many


use NovaAttachMany\AttachMany;
public function fields(Request $request)
    return [

You can explicitly define the relationship & Nova resource:

AttachMany::make('Field Name', 'relationshipName', RelatedResource::class);

Display on detail:

This package only provides the create / edit views that BelongsToMany does not.

BelongsToMany should be used for displaying the table on detail views.

public function fields(Request $request)
    return [


You can set min, max, size or custom rule objects

->rules('min:5', 'max:10', 'size:10', new CustomRule)


Here are a few customization options

  • ->showCounts()
    Shows "selected/total"
  • ->showPreview()
    Shows only selected
  • ->hideToolbar()
    Removes search & select all
  • ->height('500px')
    Set custom height
  • ->fullWidth()
    Set to full width
  • ->showRefresh()
    Request the resources again
  • ->showSubtitle()
    Show the resource's subtitle
  • ->help('Tip: help text')
    Set the help text

All Options Demo


The attachable resources will be filtered by relatableQuery() So you can filter which resources are able to be attached

Being Notified of Changes

You can add a method to the resource to be notified of the changes that have happened:

The method must be a camel cased version of the attribute name, followed by

. For example:
public function fields(Request $request)
    return [
public function permissionsSynced(array $changes)
    $changes['attached']; // An array of IDs of attached models
    $changes['detached']; // An array of IDs of detached models
    $changes['updated']; // An array of IDs of updated models


This field also respects policies: ie Role / Permission - RolePolicy: attachAnyPermission($user, $role) - RolePolicy: attachPermission($user, $role, $permission) - PermissionPolicy: viewAny($user)


Hi 👋, Im Brian D. I created this Nova package and others

Hope you find it useful. Feel free to reach out with feedback.

Follow me on twitter: @imbriand

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.