Цель: Показать предложения в текстовом поле одной из форм на основе данных из базы данныхJQuery автозаполнения со значениями базы данных не работает (Laravel 5)
<script>
$(function() {
$("#activitynamebox").autocomplete({
source: '{{URL('getactivitydata')}}',
minlength: 1, //search after 1 character
select:function(event,ui){
$('#response').val(ui.item.value);
}
});
});
</script>
Проблема
код 1: работает как ожидалось
public function suggestion() {
$return_array = array('1' => 'Example1',
'2' => 'Example2');
echo json_encode($return_array);
}
код 2: со значениями из базы данных, не работает:
public function suggestion() {
$term = 'programming';
$array = DB::table('activities')
->where('type', '=', 'Work')
->take(5)
->get();
foreach($array as $element) {
$return_array[$element->id] = $element->name;
}
echo json_encode($return_array);
}
Ошибка: Внутренняя ошибка сервера 500
я решил повторить $ return_array из кода 2 в отдельном контроллере и Ouput был следующее:
{'1': 'Example1', '2': 'Example2' }
что то же самое (я думаю), который работает жёстко в коде 1.
Почему код 1 работа в то время как код 2 d oesn't? Какая разница? Заранее спасибо
перед Еогеаспом, попробуйте: $ return_array = []; – ruifn
также вы можете использовать, где без оператора '=' в середине. – ruifn
@rufin Спасибо за ваше предложение, но, к сожалению, результат был тот же –