2014-10-02 116 views
0

我做了一个下拉列表,它从数据库的'oneways'表上取'destination-from'值。这里按照本教程:http://www.laravel-tricks.com/tricks/easy-dropdowns-with-eloquents-lists-methodLaravel 4下拉列表

但每当我尝试运行它,它给了我这样那样的错误:未定义的变量:类什么,似乎这里是什么问题?我对此很新。 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

您在提取类别的模板中的代码需要被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' => '[email protected]' 
]); 
+0

感谢您的快速回复先生。 尝试将此更改为您的建议解决方案,但最终出现此错误:未定义变量:类别 – staphhelpme 2014-10-02 16:34:23

+0

我已更新它,现在尝试。确保你还没有返回onewayflight()的第一行视图。 – jd182 2014-10-02 16:37:09

+0

先生,仍然有同样的结果。该错误链接到刀片模板。 – staphhelpme 2014-10-02 16:39:30

0

除了@ jd182的建议(因为我缺乏评论的声望,我使用答案);你确定list()函数/ facade会返回除null以外的值。 PHP有时会将null的值视为未定义。

而您的刀片语法错误。如果你想在一个刀片文件中定义一个变量(不建议),你应该将它包装在标签中,并将其作为普通的php文件工作。

+0

谢谢您的提示先生。 – staphhelpme 2014-10-02 17:28:06