Я просто пытаюсь добавить поле в пакет laravelusers, которое позволяет мне добавить компанию пользователям. Я сделал обычные шаги по добавлению поля в массив для заполнения в моей модели, и я изменил опубликованные поставщиком файлы представления, чтобы соответствующим образом включить мое новое поле. Я дважды проверил, что поле передается в заголовках через консоль.
К сожалению, базовый контроллер этого вендорного пакета специально создается по имени поля, и «компания» не входит в их число - поэтому я решил, что мне просто нужно заново создать контроллер и расширить контроллер вендора, чтобы переопределить метод магазина.
Ака:
use jeremykenedy\LaravelUsers\Controllers\UsersManagementController as BaseUsersManagementController;
class UsersManagementController extends BaseUsersManagementController
А затем замените эту функцию:
public function store(Request $request)
Однако этот контроллер, похоже, зарегистрирован через поставщика услуг, который создает его с помощью следующего кода:
$this->app->make('jeremykenedy\laravelusers\App\Http\Controllers\UsersManagementController');
$this->app->singleton(jeremykenedy\laravelusers\App\Http\Controllers\UsersManagementController\UsersManagementController::class, function () {
return new App\Http\Controllers\UsersManagementController();
});
$this->app->alias(UsersManagementController::class, 'laravelusers');
Как я могу подключиться к этому регистрационному вызову и расширить его, чтобы посмотреть на метод моего нового контроллера поверх метода этого базового контроллера, чтобы разрешить обработку нового поля через мой собственный контроллер?
Спасибо за помощь.