Я делаю простую поисковую систему, в которой, если выбранный список из выпадающего списка будет совпадать с тем, который находится внутри столбца ‘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)}}
Это только предположение, но вы должны убедиться, что у вас есть только один элемент формы с именем 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');
Других решений пока нет …