Typeahead remote с Laravel 4 – Я работаю над отдельными работами, но не работаю вместе

Я относительно зеленый с Laravel и PHP. Я изучаю Laravel посредством документации и SO / Google. Я нажал на каждый вопрос типа «голова / ларавел», который мог найти здесь, и я просто не могу найти пример, который вполне подходит. Этот вопрос очень близок. На самом деле я не вижу вопиющих различий. Но опять же, у этого OP также были проблемы с удаленным.

Я думаю, что я близок, поскольку мои разные пьесы, похоже, работают индивидуально. Позволь мне объяснить…

У меня есть форма …

<div class="input-group form-group" id="ingredients"> {{ Form::label('ingredients', 'Ingredients') }} {{ Form::text('ingredients[]', null, array( 'class' => 'form-control typeahead', 'data-provide' => 'typeahead', 'data-items' => '10', 'id' => 'ingredients') ) }} </div> 

… со сценарием …

 <script> $('.typeahead').typeahead([ { name: 'ingredients', remote: '/recipe/create/%QUERY' } ]); </script> 

remote: указывает на этот маршрут

Route::get('recipe/create/{query}', 'SearchController@searchIngredients');

Что указывает на этот метод контроллера …

 public function searchIngredients($query) { $data = array(); $results = Ingredient::select ('name')->where('name', 'LIKE', '%' . $query . '%')->get(); foreach ($results as $result) : $data[] = $result->name; endforeach; var_dump($data); return Response::json($data); } 

Когда я ввожу какой-либо текст в форму, я вижу запрос браузера: введите описание изображения здесь

Если я перейду непосредственно к удаленному URL-адресу, я вижу свой var_dump как и следовало ожидать:

Например /recipe/create/s показывает мне

 array(4) { [0] "Sugar" [1] "Cheese" [2] "Salt" [3] "rasins" } 

Я явно что-то пропустил, и у меня есть подозрение, что это просто, хотя я тоже ошибаюсь. Когда я начинаю печатать в поле формы, выпадающего списка нет.

Я думаю, что мой метод контроллера никогда не вызывается при наборе текста, или я бы видел var_dump с каждым запросом браузера, правильно?

Если это так, я сломался на remote: бит скрипта?


РЕДАКТИРОВАТЬ

введите описание изображения здесь

    Попробуйте вывести var_dump из контроллера – typeahead ожидает действительный JSON в качестве ответа.

    Это будет работать и проверяться:

     $data = array(); $results = Student::select ('id')->where('id', 'LIKE',$query . '%')->get(); foreach ($results as $result): $data[] = $result->id.""; endforeach; return Response::json($data); 

    Кстати, вы могли бы сделать

     $results = Ingredient::select ('name')->where('name', 'LIKE', '%' . $query . '%')-> return Response::json($results);