Грешка в Laravel 4: Недефинирана променлива

Направих заявка за списък, която попълва моя падащ прозорец. Опитах var_dump в частта за контролерите и всичко мина добре, но всеки път, когато се опитвах да извикам функцията си на моя блейд шаблон, тя ми връщаше грешка: Недефинирана променлива: категории (Преглед: C:\wamp\www\airlines\ app\views\content\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)

значи казахте, че в Блейд $categories трябва да бъде кръстен $destination-from

Въпреки това не можете да използвате - в името на променливата, така че вероятно трябва да го промените на:

with('destinationFrom', $categories)

и в Blade:

{{ Form::select('destination-from', $destinationFrom) }}
person Marcin Nabiałek    schedule 03.10.2014
comment
Обзалагам се, че $destination-from не е валидно име на променлива. ${'destination-from'} също може да работи. - person vikingmaster; 03.10.2014
comment
@Jari Знам, добавих допълнително обяснение към отговора си - 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 Да! Благодаря ви много сър! Едно последно нещо, възможно ли е да филтрирам резултатите, защото в моите db записи имам повтарящо се съдържание. Ако е така, можете ли да ми дадете идея? - person staphhelpme; 03.10.2014
comment
@staphhelpme Ако имате друг въпрос, трябва да зададете нов с обяснение на всички подробности, така че да е ясно - person Marcin Nabiałek; 03.10.2014
comment
@MarcinNabiałek Добре, сър. Отново, благодаря ви много за отделеното време и помощта! Наистина го оценявам! - person staphhelpme; 03.10.2014