Получить выбранное значение из поля select_from_array с помощью laravel 5.2 Backpack

Я использую Laravel 5.2 Backpack в моем новом проекте, где у меня есть select_from_array поле в моей форме, в зависимости от выбранного значения, я хочу, чтобы данные отображались в другом select_from_array поле. Не знаю, как это сделать. Пожалуйста, помогите мне с этим. Это мой код

controller.php

public function __construct()
{
if (Request::segment(3) == 'create') {
$parentField1 = [
'name' => 'cat_id',
'label' => 'Category',
'type' => 'select_from_array',
'options' => $this->categories(),
'allows_null' => false,
];
$parentField = [
'name' => 'subCat_id',
'label' => 'SubCategory',
'type' => 'select_from_array',
'options' => $this->subcategories(),
'allows_null' => false,
];

array_unshift($this->crud['fields'], $parentField1,$parentField);

}

public function categories()
{
$cat = Request::get('cat_id');

$currentId = 0;
if (Request::segment(4) == 'edit' and is_numeric(Request::segment(3))) {
$currentId = Request::segment(3);
}

$entries = Category::where('translation_lang', config('app.locale'))->where('parent_id',0)->orderBy('lft')->get();
if (is_null($entries)) {
return [];
}

$tab = [];
$tab[0] = 'Root';
foreach ($entries as $entry) {
if ($entry->id != $currentId) {
$tab[$entry->translation_of] = '- ' . $entry->name;
}
}
return $tab;
}

public function subcategories()
{
$currentId = 0;

if (Request::segment(4) == 'edit' and is_numeric(Request::segment(3))) {
$currentId = Request::segment(3);
}

$entries = Category::where('translation_lang', config('app.locale'))->where('parent_id','!=' ,0)->orderBy('lft')->get();

if (is_null($entries)) {
return [];
}

$tab = [];
$tab[0] = 'Root';
foreach ($entries as $entry) {
if ($entry->id != $currentId) {
$tab[$entry->translation_of] = '- ' . $entry->name;
}
}
return $tab;
}

Я хочу идентификатор выбранной опции в subcategories() где я могу использовать идентификатор, чтобы получить данные.

0

Решение

Я думаю, что лучший способ для вас — создать специальный тип поля для этой конкретной цели, который включает оба выбора. следить эта процедура. Начните с select2.blade.php файл и добавьте JavaScript, необходимый для достижения вашей цели (при изменении события в первом select2, измените параметры в следующем select2).

1

Другие решения

Других решений пока нет …