Дмитрий, я просто не хочу лезть в ядро :) И наверняка можно и без этого, запихнуть в какой-нить boot() или типа того - я просто не очень силен в ООП - придется долго ковыряться во всем этом..
Чтоб переопределить, нужно унаследовать класс, в потомке создать метод, который заменит реализацию родителя. В шторме например можно нажать ctrl и нажать на метод, оно откроет реализацию.
Вроде это role
updateExistingPivot - спецметод ларавель, который и будет менять доп. столбец active на нужное тебе значение.
Писать его в контроллере и не нужно переопределять
Роман, запихнуть в метод softToggle и в какой-нибудь трейт, если в нескольких местах используется, а трейт подключить к модели. Но нужно проверять т.к. я сочиняю сейчас на ходу)
Сделать это можно, но делать этого не нужно. Хотите менять поле - создавайте свои обьекты реляций, и переопределяйте нужные вам методы сколько угодно. А дефолтные не трогайте.
Роман, ну кликните с контрлом на релейшен несколько раз, пока не найдете нужный класс. Потом смотрите есть ли у него трейт Macroable, или у его родителей. Есть - дерзайте, нет - тогда делайте как сказал я.