Я пытаюсь использовать spatie / laravel -tags вместе с Backpack для Laravel. У меня определены 2 типа тегов. В настоящее время я расширил модель тегов из spatie / laravel -tags как MyCategory и MyTag и добавил глобальные области для разделения двух типов тегов. Это работает до такой степени, что он будет правильно отображать текущие категории и теги в Backpack, но когда я попытаюсь сохранить любые изменения, он сохранит только записи в последнем поле и удалит все в первом поле.
Вот моя текущая конфигурация поля для моего CRUD:
$this->crud->addField([
'name' => 'categories',
'label' => 'Categories',
'type' => 'select2_multiple',
'tab' => 'Overview',
'attribute' => 'name',
'model' => 'App\MyCategory',
'pivot' => true,
]);
$this->crud->addField([
'name' => 'tags',
'label' => 'Tags',
'type' => 'select2_multiple',
'tab' => 'Overview',
'attribute' => 'name',
'model' => 'App\MyTag',
'pivot' => true,
]);
Когда я проверяю Laravel Телескоп, я вижу, что то же самое происходит для обоих полей. Сначала удаляются все текущие теги (независимо от типа) для элемента, который я сохраняю, и добавляются новые теги из поля. Затем это повторяется для второго поля, которое, конечно же, удаляет теги из первого поля, которое также должно быть сохранено.
Кажется, что GlobalScope в моих расширенных моделях тегов не подходит для этой части. Есть ли способ повторно ввести области в запросы, выполняемые рюкзаком, чтобы эти теги сохранялись правильно?