Какие параметры я должен установить, чтобы получить значение параметров при отправке формы?
Я использую Select2. Я дал код, который мне нужно настроить, select2, контроллер, который возвращает данные, HTML-код, который отображает элемент.
HTML-код для добавления элемента select2:
<div class="form-group row"><label class="col-lg-2 col-form-label">Keyword</label>
<div class="col-lg-10">
<select class="form-control w-50" name="keywords[]" id="keyword" multiple="multiple">
</select>
<span class="form-text m-b-none">One or multiple keywords</span>
</div>
</div>
Источник данныхявляется вызовом Ajax:
$(document).ready(function() {
$('#keyword').select2({
tags: true,
tokenSeparators: [',', ' '],
placeholder: 'Select keyword',
ajax: {
url: 'https://rankypro.dev/app/json/keywords',
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.name,
id: item.id
}
})
};
},
cache: true
}
});
Контроллер:
public function getKeywords(Request $request){
$search = $request->search;
if($search == ''){
$keywords = Term::orderby('name','asc')
->select('id','name')
->where('taxonomy','keyword')
->limit(5)
->get();
}else{
$keywords = Term::orderby('name','asc')->select('id','name')
->where('taxonomy','keyword')
->where('name', 'like', '%' .$search . '%')
->limit(5)
->get();
}
$results = array();
foreach($keywords as $keyword){
$results[] = array(
"id"=>$keyword->id,
"text"=>$keyword->name
);
}
echo json_encode($results);
exit();
}
Я тестирую с:
public function store(Request $request)
{
dd($request->keywords);
}
Я получаю следующее:
array:2 [
0 => "Tools"
1 => "SEO"
]
Мне действительно нужны идентификаторы ключевых слов. Не могли бы вы дать несколько советов, как я могу получить это.