Ошибка Laravel 4: неопределенная переменная

Я сделал запрос списка, который заполняет мой раскрывающийся список. Я попробовал var_dump в части контроллеров, и все прошло хорошо, но всякий раз, когда я пытался вызвать свою функцию в моем шаблоне блейда, он возвращал мне ошибку: Неопределенная переменная: категории (Просмотр: C:\wamp\www\airlines\ приложение\представления\контент\onewayflight.blade.php)

В чем здесь проблема?

OnewayflightController.php

   public function onewayflight()
{ 
  $categories = DB::table('oneways')->lists('destination-from');
  return View::make('content.onewayflight')->with('destination-from', $categories);
}

onewayflight.blade.php

{{ Form::select('destination-from', $categories) }}

routes.php

Route::get('flight/onewayflight','OnewayflightController@onewayflight');

person staphhelpme    schedule 03.10.2014    source источник
comment
аналогичный вопрос: how-to-pass-data-to-view-in-laravel   -  person Mithun Satheesh    schedule 03.10.2014


Ответы (1)


Вы должны использовать в Blade:

{{ Form::select('destination-from', $destination-from) }}

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

with('destination-from', $categories)

так ты сказал, что в Blade $categories должны называться $destination-from

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

with('destinationFrom', $categories)

и в Блэйде:

{{ Form::select('destination-from', $destinationFrom) }}
person Marcin Nabiałek    schedule 03.10.2014
comment
Бьюсь об заклад, $destination-from не является допустимым именем переменной. ${'destination-from'} может сработать. - person vikingmaster; 03.10.2014
comment
@ Яри Я знаю, я добавил дополнительное объяснение к своему ответу - person Marcin Nabiałek; 03.10.2014
comment
@MarcinNabiałek Спасибо, сэр! Теперь это ясно для меня. Дополнительный вопрос, сэр, что, если бы я заполнил два отдельных выпадающих списка? Как я могу правильно реализовать это? - person staphhelpme; 03.10.2014
comment
@staphhelpme Если вы используете те же данные, вы просто создаете новый выбор, используя те же данные (конечно, с другим именем выбора). И если вам нужно больше данных, вам нужно передать массив в методе with - person Marcin Nabiałek; 03.10.2014
comment
Я бы получил другой контент из другого столбца, но поместил бы его в один и тот же шаблон блейда. Я попытался скопировать рабочий код и изменить необходимые детали, но это дало бы мне неопознанную переменную. - person staphhelpme; 03.10.2014
comment
@staphhelpme вам нужно использовать ->with(['destination-from'=> $categories, 'other-variable' => $user]); и так далее - person Marcin Nabiałek; 03.10.2014
comment
@MarcinNabiałek Да! Большое спасибо, сэр! И последнее, можно ли отфильтровать результаты, потому что в моих записях БД у меня есть повторяющийся контент. Если да, то можете ли вы дать мне идею? - person staphhelpme; 03.10.2014
comment
@staphhelpme Если у вас есть другой вопрос, вам нужно задать новый, объяснив все детали, чтобы было понятно - person Marcin Nabiałek; 03.10.2014
comment
@MarcinNabiałek Хорошо, сэр. Еще раз большое спасибо за ваше время и помощь! Действительно ценю это! - person staphhelpme; 03.10.2014