Typeahead не работает с Laravel 5.1

Интересно, почему это не вытащить записи из базы данных. Я был на этом в течение нескольких дней. Все, что я хочу сделать, это использовать typeahead для выбора подходящей записи в БД. Когда пользователь вводит символ, должны отображаться соответствующие записи, чтобы пользователь мог выбрать соответствующее значение. Я надеюсь, что доброе сердце поможет мне решить эту проблему.

Это контроллер:

public function SelectLocationPlaces(UserAdressRequest $userAdressRequest)
{
if($userAdressRequest->isMethod('post'))
{
if($userAdressRequest->has('query'))
{
$query = $userAdressRequest->get('query');
$locationPlaces = LocationPlaces::where('name', 'like', "%{$query}%")->toArray();
return json_encode($locationPlaces);
}
}
}

Это форма лезвия:

{!! Form::open(array('url' => 'created-products', 'method' => 'post'), array('id'=>'createproduct')) !!}
{!! Form::token() !!}

<link href="{!! asset('bootstrap/css/bootstrap.css') !!}" media="all" rel="stylesheet" type="text/css" />
<link href="{!! asset('css/style.css') !!}" media="all" rel="stylesheet" type="text/css" />
<!--<link rel="stylesheet" type="text/css" href="style.css">-->
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>

<p>{!! Form::select('countries', array('-1' => 'Select a Country') + $listedCountries) !!} </p>
<div class='well'>
<p>{!! Form::text('query', '', array('id'=>'typeahead', 'data-provider'=>'typeahead')) !!}</p>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="{!! asset('bootstrap/js/bootstrap.js') !!}" type="text/javascript" />

<script>
$(function(){
$('#typeahead').typeahead({
source: function(query, process){
$.ajax({
url: '{{ url('json/redirects/') }}',
type: 'POST',
data: 'query=' +query,
dataType: 'JSON',
async: true,
success: function(data){
process(data);
}
});
}
});
});
</script>

{!! Form::close() !!}

Это маршрут:

Route::post('json/redirects', array('before'=>'csrf', 'uses'=>'UserAddressController@SelectLocationPlaces'));

1

Решение

Вы не написали, в чем проблема — если это исключение или что-то еще, но вместо:

$locationPlaces = LocationPlaces::where('name', 'like', "%{$query}%")->toArray();

вам лучше использовать:

$locationPlaces = LocationPlaces::where('name', 'like', "%{$query}%")->get()->toArray();
2

Другие решения

Других решений пока нет …