Laravel 两个select2\u ajax过滤器之间的关系
我有一个项目,其中有一个程序、类别和子类别表, 从外键到类别的子类别 过程具有指向“类别”和“子类别”的外键 在我的controller/setupListOperation中,我添加了两个我想关联的过滤器,请查看该类别的子类别选择为过滤器 但是我不知道如何在两个select2\u ajax之间建立链接Laravel 两个select2\u ajax过滤器之间的关系,laravel,backpack-for-laravel,Laravel,Backpack For Laravel,我有一个项目,其中有一个程序、类别和子类别表, 从外键到类别的子类别 过程具有指向“类别”和“子类别”的外键 在我的controller/setupListOperation中,我添加了两个我想关联的过滤器,请查看该类别的子类别选择为过滤器 但是我不知道如何在两个select2\u ajax之间建立链接 // Filtre sur la catégorie CRUD::addFilter([ 'name' => 'filtre_categori
// Filtre sur la catégorie
CRUD::addFilter([
'name' => 'filtre_categorie',
'type' => 'select2',
'label' => 'Filtre de catégorie',
'placeholder' => 'Sélectionner une catégorie',
'minimum_input_length' => 0,
],
function () { return \App\Models\Categorie::all()->keyBy('id')->pluck('name', 'id')->toArray();
}, function ($value) { // if the filter is active
$this->crud->addClause('where', 'categorie_id', $value);
});
// Filtre sur la sous catégorie
CRUD::addFilter([
'name' => 'filtre_souscategorie',
'type' => 'select2_ajax',
'label' => 'Filtre de sous-catégorie',
'placeholder' => 'Sélectionner une sous-catégorie',
'minimum_input_length' => 0,
],
url('admin/procedure/ajax-souscategory-options'), // the ajax route
function($value) { // if the filter is active
$this->crud->addClause('where', 'souscategorie_id', $value);
});
我通过这样做找到了解决方案: 我的领域:
// Filtre sur nom
CRUD::addFilter([
'type' => 'text',
'name' => 'nom_filter',
'label' => 'Recherhe par nom de procédure'
],
false,
function($value) { // if the filter is active
$this->crud->addClause('where', 'name', 'LIKE', "%$value%");
});
// Filtre sur la catégorie
CRUD::addFilter([
'name' => 'filtre_categorie',
'type' => 'select2',
'label' => 'Filtre de catégorie',
'placeholder' => 'Sélectionner une catégorie',
'minimum_input_length' => 0,
],
function () { return \App\Models\Categorie::all()->keyBy('id')->pluck('name', 'id')->toArray();
}, function ($value) { // if the filter is active
$this->crud->addClause('where', 'categorie_id', $value);
});
我的班级:
public function souscategoryFilterOptions(Request $request) {
$term = $request->input('term');
$options = \App\Models\Souscategorie::query();
$str = $_SERVER['HTTP_REFERER'];
$qs = parse_url($str, PHP_URL_QUERY);
if(!empty($qs)){
parse_str($qs, $output);
$resultsFilter = $options->where('categorie_id', $output['filtre_categorie'])->get()->pluck('name', 'id');
}
if ($term) {
$resultsFilter = $options->where('name', 'LIKE', '%'.$term.'%')->paginate(10);
} else {
$resultsFilter = $options->paginate(10);
}
return $resultsFilter;
}