В настоящее время проблема заключается в том, что у вас есть два последующих запроса, где ваш шаблон блэйда будет динамически отображать только результаты первого.У вас есть несколько вариантов:
A) предварительно загрузить все данные, отправить их на клиентскую сторону и позволить Javascript обрабатывать их.Например, вы отправите объект типа:
{regionA: ["bank1", "bank2", "bank3"], regionB ["bank4, "bank4", "bank5"] }
Затем динамически создайте параметры с помощью javascript на основе структуры.
B) Пусть javascript (AJAX) обрабатывает второй запрос для более глубокого уровняданных и заполните параметры.Есть библиотеки, которые могут помочь с этим (например, Selectize.js).
C) Существуют высокоуровневые интерфейсные среды, такие как Vue.js, которые могут помочь в управлении «состоянием» клиентского браузера.Это может быть чем-то, на что стоит обратить внимание, если вы хотите сделать более сложную логику на стороне клиента.
Обновление:
Глядя на ваш код, я думаю, что проблема в том, как данные запроса передаются вваши методы контроллера.Быстрое решение состоит в том, чтобы передать (Request $ request) в функцию и посмотреть, что передается, но я бы посоветовал потратить некоторое время на отношения Eloquent и посмотреть, как можно получить ORM Laravel (https://laravel.com/docs/5.7/eloquent)).сделайте это для вас. Вкратце, у вас могут быть такие маршруты:
Route::get('admin/bank/municipalview/{District}', 'bankController@municipalView');
А затем такой контроллер:
public function municipalView(Disctrict $district)
{
$municipalities = District::municipalities();
return response()->json($municipalities) ;
}
и убедитесь, что у вас есть модель Disctrict (phpArtisan делает модель)
в модели вы можете определить отношения:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Disctrict
/**
* Get the municipalities for a district.
*/
public function municipalities()
{
return $this->hasMany('App\Municipality');
}
}