我在routes.php文件中有以下代码:
Route::get('org', function()
{
$org = Org::all();
return View::make('org.index')
->with('org', $org)
->with('category', 'Org');
});
当我在我的应用程序中访问/ org时,我收到以下错误:
ErrorException
Undefined variable: category (View: /var/www/html/.../app/views/org/index.blade.php)
我的index.blade.php文件中包含以下代码:
@if($category == 'Org')
@foreach($org as $organization)
...
@endforeach
@endif
如果我删除if语句(引用$ category变量),一切正常。
为什么在视图中未定义$category
?
修改
这是相当尴尬的,但我会描述问题,以防其他人发现它有用。
我的routes.php文件中有很多注释和重复的代码,因为这是我第一次使用Laravel并且我正在测试。事实证明我有上述路由的副本(尽管更接近routes.php文件的底部)没有将$ category变量传递给视图。我删除了它,这解决了我的问题。
我的印象是,如果有重复的路线,将使用首先描述的路线。
答案 0 :(得分:2)
尝试以下方法:
Session::get('category')
如果要传递多个变量进行查看,可以使用以下方法:
Route::get('org', function()
{
$org = Org::all();
$category = 'Org';
return View::make('org.index', compact('org', 'category'));
});
或强>
Route::get('org', function() { $data = []; $data['org'] = Org::all(); $data['category'] = 'Org'; return View::make('org.index', $data); });
答案 1 :(得分:0)
这是相当尴尬的,但我会描述问题,以防其他人发现它有用。
我的routes.php文件中有很多注释和重复的代码,因为这是我第一次使用Laravel并且我正在测试。事实证明我有上述路由的副本(尽管更接近routes.php文件的底部)没有将$ category变量传递给视图。我删除了它,这解决了我的问题。
我的印象是,如果有重复的路线,将使用首先描述的路线。