我已经制作了一个下拉列表,其中包含' destination-from'单向价值'来自数据库的表。遵循本教程:http://www.laravel-tricks.com/tricks/easy-dropdowns-with-eloquents-lists-method
但每当我尝试运行它时,它都会给我带来这样的错误:未定义的变量:类别这里的问题似乎是什么?我真的很陌生。 laravel上的新手。
以下是我的代码:
onewayflight.blade.php
$categories = Category::lists('destination-from', 'title');
{{ Form::select('category', $categories) }}
onewayflightcontroller.php
public function onewayflightresults()
{
return View::make('content.onewayflight');
$list = DB::table('oneways');
$listname = Oneways::lists('destination-from');
$content = View::make('content.onewayflight', array('list'=>$list, 'listname'=>$listname));
}
我不确定我遗漏了什么。而且我也想知道模型是否与此有关?
答案 0 :(得分:0)
模板中用于获取类别的代码需要被PHP标记包围,否则将无法执行。但更好的是 - 将它移动到它所属的控制器。
同样在您的控制器中,您将返回onewayflight()顶部的视图 - 此后不执行任何操作。
所以改变它的工作就像这样,你应该没事:
onewayflight.blade.php
{{ Form::select('category', $categories) }}
onewayflightcontroller.php
public function onewayflight()
{
$categories = Category::lists('destination-from', 'title');
return View::make('content.onewayflight', array('categories' => $categories));
}
此外,在routes.php中,路径应如下所示:
Route::get('/your-route-path', [
'as' => 'your_route_name',
'uses' => 'onewayflightcontroller@onewayflight'
]);
答案 1 :(得分:0)
除了@ jd182的建议(因为我缺乏评论的声誉,我使用答案);你确定lists()函数/ facade返回除null
以外的一些值。 PHP有时会将null
值视为未定义。
您的刀片语法错误。如果你想在刀片文件中定义一个变量(不建议这样做),你应该将它包装在标签周围并将其作为常规的php文件来使用。