Кто-нибудь здесь когда-либо создавал вложенные выпадающие списки внутри рюкзаков? У меня есть этот грубый контроллер, который обрабатывает модель "Кампания" -
$this->crud->addField([
'name' => 'industry_id',
'entity' => 'industry',
'type' => 'select2',
'attribute' => 'name',
'label' => "Industry",
]);
$this->crud->addField([
'name' => 'country_id',
'entity' => 'country',
'type' => 'select2',
'attribute' => 'country_name',
'label' => "Country",
]);
$this->crud->addField([
'name' => 'website_id',
'entity' => 'website',
'type' => 'select2',
'attribute' => 'name',
'label' => "Website",
]);
$this->crud->addField([
'name' => 'campaign_type_id',
'entity' => 'campaign_type',
'type' => 'select2',
'attribute' => 'name',
'label' => "Campaign Type",
]);
$this->crud->addField([
'name' => 'site_page_id',
'entity' => 'site_page',
'type' => 'select2',
'attribute' => 'name',
'label' => "Site Page",
]);
Сущность «веб-сайт» зависит от отрасли, а «site_page_id» зависит от сочетания сущности «веб-сайт» и сущности «тип_ кампании». Когда я создаю новую кампанию, я хочу, чтобы раскрывающиеся списки заполнялись динамически в соответствии с выбранным значением раскрывающегося списка над ними.
Я попытался добавить метод модели кампании, предложенный в этой тяге, и вызвать его в поле crud, но это не сработало. Единственное решение, которое я могу придумать сейчас, - это создать собственный файл create.blade.php и вызвать его с помощью $this->crud->setCreateView('vendor.backpack.base.new_create'); из метод setup () модели кампании.
Обратите внимание, что вам нужно использовать select2_from_ajax, а не select2.
Вместо того, чтобы создавать новый файл create.blade.php, вы можете создать собственный тип файлов, который включает все 3 поля, которые вам нужны - это должно быть проще.






Гонрас, этот PR должен работает, я пробовал много раз. Единственное, чего он не делает, - это очищать последующие вводы.