2014-10-03 165 views
0

我做了一个列表查询,填充我的下拉框。我已经尝试了控制器部件上的var_dump,并且它一切顺利,但是每当我尝试在我的刀片模板上调用我的函数时,它都会返回一个错误:Undefined variable:categories(View:C:\ wamp \ www \ airlines \ app \ views \ content \ onewayflight.blade.php)Laravel 4错误:未定义的变量

这似乎是什么问题?

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','[email protected]'); 
+0

类似的问题:[**'如何到传递数据到视图中-laravel' **](http://stackoverflow.com/questions/18341792/如何传递数据以查看laravel) – mithunsatheesh 2014-10-03 11:03:09

回答

1

你应该在刀片使用:

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

因为在你的方法,你使用:

with('destination-from', $categories) 

所以你说,在刀片$categories一定要被命名$destination-from

但是你不能在变量中使用-名称,因此您应该将其更改为:

with('destinationFrom', $categories) 

和在刀片:

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

我敢打赌'$ destination-from'不是一个有效的变量名称。 '$ {'destination-from'}'可以工作。 – vikingmaster 2014-10-03 11:03:21

+1

@Jari我知道,我给我的回答添加了额外的解释 – 2014-10-03 11:04:17

+0

@MarcinNabiałek谢谢先生!现在,这很清楚。还有一个问题,先生,如果我要填充两个单独的下拉菜单,该怎么办?我该如何正确实施它? – staphhelpme 2014-10-03 11:50:51