Я получаю переменную в моем контроллере, и я хочу сделать запрос связывания с переменной поиска, я пытаюсь это:
$search = $this->request->getPost('term');
$item = Item::find(
[
'columns' => 'name',
'conditions' => "name LIKE :searchT: ",
'bind' => [
'searchT' => '%'.$search.'%',
],
]
);
Этот код выше возвращает элементы, которые не соответствуют ограничению LIKE.
Если я передаю строку буквально работает нормально:
$item = Item::find(
[
'conditions' => "name LIKE '%Os%' ",
'columns' => 'name',
'limit' => 10,
]
);
JQuery:
<script type="text/javascript">
$( function() {
$("#itemSearch").autocomplete({
source: function ( request, response ) {
$.ajax({
type: "POST",
url: "/item/search",
dataType: "json",
data: {
term: request.term
},
contentType: "application/json",
success: function(data) {
response(data);
}
});
},
minLength: 2
})
})
</script>
Мой $ search был пуст, и в моем JQuery мне нужно было добавить заголовок в ajax:
...
source: function ( request, response ) {
$.ajax({
type: "POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
...
Спасибо @Abhik Чакраборти
Других решений пока нет …