select2 依赖于另一个字段的字段
select2 field that depends on another field
我想实现本教程中的代码展示:
然而,这一行returnsnull
值:
$form = collect($request->input('form'))->pluck('value', 'name');
我不知道我是否应该在这里使用 input('form')
因为它取自版本 3.4 的文档 有人知道它是否适用于版本 4.
CrudController:
// CRUD::field('sub_district_id')
// ->type('select2')
// ->label('Kecamatan')
// ->entity('sub_district')
// ->attribute('sub_district_name')
// ->model('App\Models\SubDistrict')
// ->wrapper(['class' => 'form-group col-md-6']);
CRUD::field('sub_district_id')
->type('relationship')
->label('Kecamatan')
->attribute('sub_district_name')
->include_all_form_fields(true)
->wrapper(['class' => 'form-group col-md-6']);
CRUD::field('village_id')
->type('select2_from_ajax')
->label('Desa/Kelurahan')
->entity('village')
->attribute('village_name')
->model("App\Models\Village")
->wrapper(['class' => 'form-group col-md-6'])
->data_source(url('api/village'))
->placeholder('Pilih Desa/Kelurahan')
->minimum_input_length(0)
->dependencies(['sub_district_id'])
->method('GET'); // optional - HTTP method to use for the AJAX call (GET, POST)
Api控制器:
$search_term = $request->input('q');
$form = collect($request->input('form'))->pluck('value', 'name');
// dump($form);
$options = Village::query();
if (!$form['sub_district_id']) {
return [];
}
// if a category has been selected, only show articles in that category
if ($form['sub_district_id']) {
$options = $options->where('sub_district_id', $form['sub_district_id']);
}
if ($search_term) {
$results = $options->where('village_name', 'LIKE', '%' . $search_term . '%')->paginate(10);
} else {
$results = $options->paginate(10);
}
return $options->paginate(10);
试试这个
$form = collect($request->all())->get('value', 'name');
只需将此行添加到 village
的字段
->include_all_form_fields(true)
它会 return 表单中的所有值
CrudController:
// ...
CRUD::field('village_id')
->type('select2_from_ajax')
->label('Desa/Kelurahan')
->entity('village')
->attribute('village_name')
->model("\App\Models\Village")
->wrapper(['class' => 'form-group col-md-6'])
->data_source(url('api/village'))
->placeholder('Pilih Desa/Kelurahan')
->minimum_input_length(0)
->dependencies(['sub_district_id'])
->include_all_form_fields(true)
->method('GET'); // optional - HTTP method to use for the AJAX call (GET, POST)
// ...
我想实现本教程中的代码展示:
然而,这一行returnsnull
值:
$form = collect($request->input('form'))->pluck('value', 'name');
我不知道我是否应该在这里使用 input('form')
因为它取自版本 3.4 的文档 有人知道它是否适用于版本 4.
CrudController:
// CRUD::field('sub_district_id')
// ->type('select2')
// ->label('Kecamatan')
// ->entity('sub_district')
// ->attribute('sub_district_name')
// ->model('App\Models\SubDistrict')
// ->wrapper(['class' => 'form-group col-md-6']);
CRUD::field('sub_district_id')
->type('relationship')
->label('Kecamatan')
->attribute('sub_district_name')
->include_all_form_fields(true)
->wrapper(['class' => 'form-group col-md-6']);
CRUD::field('village_id')
->type('select2_from_ajax')
->label('Desa/Kelurahan')
->entity('village')
->attribute('village_name')
->model("App\Models\Village")
->wrapper(['class' => 'form-group col-md-6'])
->data_source(url('api/village'))
->placeholder('Pilih Desa/Kelurahan')
->minimum_input_length(0)
->dependencies(['sub_district_id'])
->method('GET'); // optional - HTTP method to use for the AJAX call (GET, POST)
Api控制器:
$search_term = $request->input('q');
$form = collect($request->input('form'))->pluck('value', 'name');
// dump($form);
$options = Village::query();
if (!$form['sub_district_id']) {
return [];
}
// if a category has been selected, only show articles in that category
if ($form['sub_district_id']) {
$options = $options->where('sub_district_id', $form['sub_district_id']);
}
if ($search_term) {
$results = $options->where('village_name', 'LIKE', '%' . $search_term . '%')->paginate(10);
} else {
$results = $options->paginate(10);
}
return $options->paginate(10);
试试这个
$form = collect($request->all())->get('value', 'name');
只需将此行添加到 village
的字段
->include_all_form_fields(true)
它会 return 表单中的所有值
CrudController:
// ...
CRUD::field('village_id')
->type('select2_from_ajax')
->label('Desa/Kelurahan')
->entity('village')
->attribute('village_name')
->model("\App\Models\Village")
->wrapper(['class' => 'form-group col-md-6'])
->data_source(url('api/village'))
->placeholder('Pilih Desa/Kelurahan')
->minimum_input_length(0)
->dependencies(['sub_district_id'])
->include_all_form_fields(true)
->method('GET'); // optional - HTTP method to use for the AJAX call (GET, POST)
// ...