ErrorException 未定义的变量 Laravel
ErrorException Undefined Variable Laravel
大家好,我刚开始学习如何使用 Laravel,当我尝试 运行 下面的代码时,我得到:
Undefined variable error
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<ul>
@foreach ($tasks as $task)
<li>{{ $task->Todo }}</li>
@endforeach
</ul>
</body>
</html>
这是 web.php
文件中使用的代码:
web.php
Route::get('/tasks', function () {
$tasks = DB::table('tasks')->get();
//return $tasks;
return view('welcome',compact($tasks));
});
我发现如果我使用 $GLOBALS['variable'];
替换两个文件中的 $tasks
变量,它就可以工作。
但是在来自 laracasts 的示例视频中,他们没有使用 $GLOBALS['variable'];
这是我得到的错误:
"Undefined variable: tasks (View: C:\Users\Friday\Documents\Documentations\laraprojects\BrainGear\resources\views\welcome.blade.php)"
你必须return这样的变量:
return view('welcome', compact('tasks'));
然后您可以像以前一样使用它,但请使用小写字母:
@foreach ($tasks as $task)
<li>{{ $task->todo }}</li>
@endforeach
您需要在 compact()
帮助程序中传递变量名称(如@utdev 所说)。您可以阅读有关此内容的更多信息 here。所以:
return view('welcome', compact('tasks'));
另一种选择是像这样将变量发送到视图:
return view('welcome')->with('tasks', $tasks);
甚至"sugared"(相当于最后一个):
return view('welcome')->withTasks($tasks);
要了解更多信息,请查看文档的 Passing data to views 部分。
大家好,我刚开始学习如何使用 Laravel,当我尝试 运行 下面的代码时,我得到:
Undefined variable error
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<ul>
@foreach ($tasks as $task)
<li>{{ $task->Todo }}</li>
@endforeach
</ul>
</body>
</html>
这是 web.php
文件中使用的代码:
web.php
Route::get('/tasks', function () {
$tasks = DB::table('tasks')->get();
//return $tasks;
return view('welcome',compact($tasks));
});
我发现如果我使用 $GLOBALS['variable'];
替换两个文件中的 $tasks
变量,它就可以工作。
但是在来自 laracasts 的示例视频中,他们没有使用 $GLOBALS['variable'];
这是我得到的错误:
"Undefined variable: tasks (View: C:\Users\Friday\Documents\Documentations\laraprojects\BrainGear\resources\views\welcome.blade.php)"
你必须return这样的变量:
return view('welcome', compact('tasks'));
然后您可以像以前一样使用它,但请使用小写字母:
@foreach ($tasks as $task)
<li>{{ $task->todo }}</li>
@endforeach
您需要在 compact()
帮助程序中传递变量名称(如@utdev 所说)。您可以阅读有关此内容的更多信息 here。所以:
return view('welcome', compact('tasks'));
另一种选择是像这样将变量发送到视图:
return view('welcome')->with('tasks', $tasks);
甚至"sugared"(相当于最后一个):
return view('welcome')->withTasks($tasks);
要了解更多信息,请查看文档的 Passing data to views 部分。