Пустые результаты поиска Laravel 4

Я делаю простую поисковую систему, в которой, если выбранный список из выпадающего списка будет совпадать с тем, который находится внутри столбца ‘destinationto’ из базы данных, тогда он выберет все элементы в этой строке. Но когда я нажимаю кнопку поиска, он не возвращает какой-либо элемент из базы данных. Это дало бы мне пустой массив.

 object(Illuminate\Database\Eloquent\Collection)[141]
protected 'items' =>
array (size=0)
empty

Что я сделал не так?

Вот фрагменты

OnewayflightControllers.php:

 public function onewayflightresults()
{
$destinationto = Input::get('destinationto');
$results = Oneways::where('destinationto','=',$destinationto)->get();
var_dump($results);
}
public function onewayflight()
{
$onewaysfrom = DB::table('oneways')->distinct()->lists('destinationfrom');
$onewaysto = DB::table('oneways')->distinct()->lists('destinationto');
return View::make('content.onewayflight')->with(['destinationfrom'=>$onewaysfrom,'destinationto'=>$onewaysto]);
}

onewayflight.blade.php:

{{ Form::label('destinationto','To: ') }}
{{ Form::select('destinationto', $destinationto)}}

1

Решение

Это только предположение, но вы должны убедиться, что у вас есть только один элемент формы с именем destinationto

Если у вас есть в форме, например,

{{ Form::label('destinationto','From: ') }}
{{ Form::select('destinationto', $destinationfrom)}}

{{ Form::label('destinationto','To: ') }}
{{ Form::select('destinationto', $destinationto)}}

Если вы думаете, что все в порядке, вы должны добавить var_dump($destinationto); к вашей функции, чтобы убедиться, что значение того, что вы ожидаете

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

я думал select будет использовать значения в качестве ключей, но это не так, вы, вероятно, должны сделать что-то подобное:

$onewaysfrom = DB::table('oneways')->distinct()->lists('destinationfrom','destinationfrom');
$onewaysto = DB::table('oneways')->distinct()->lists('destinationto','destinationto');

и не:

$onewaysfrom = DB::table('oneways')->distinct()->lists('destinationfrom');
$onewaysto = DB::table('oneways')->distinct()->lists('destinationto');
1

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

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

По вопросам рекламы [email protected]