php - laravel 视图和路由器未定义对象
问题描述
我的路线:
Route::get("/home/{lang?}", function ($lang=null){
App::setlocale($lang);
return view('/home');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('/home','RadarController');
Route::resource('/welcome1','DriverController');
Route::post('/welcome1', 'DriverController@store');
在我得到的视图中:
@foreach($radars2 as $radar)
<tr>
<td>{{$radar['id']}}</td>
矿山指数函数
public function index()
{
$radars2 = Radar::all();
// return view('home', compact($radars2));
return view('home', ['radars2' => $radars2]);
}
所以问题是,当我添加语言环境路由时,我得到未定义的变量:radars2 错误。如果没有语言环境路线,它可以正常工作,那么它可能是什么问题?尝试使用紧凑和数组结果相同,甚至尝试在我的资源控制器路由中添加该语言环境路由,仍然是同样的问题。
解决方案
在您的语言环境路线中,您正在尝试渲染视图“主页”,但您没有在其中传递任何参数
Route::get("/home/{lang?}", function ($lang = null) {
App::setlocale($lang);
return view('/home'); //problem is here
});
它应该是这样的:
Route::get("/home/{lang?}", function ($lang = null) {
App::setlocale($lang);
$radars2 = Radar::all();
return view('/home', ['radars2' => $radars2]);
});
推荐阅读
- homebrew - 如何使用 Homebrew 让 gitx 在 macOS Sierra 上运行?
- mysql - 如何在 MYSQL 8 中查找表的下一个 AUTO_INCREMENT 值
- html - 是的,没有隐藏和显示 div 的滑块?
- python - Python:将装饰器存储在一个类中?
- java - 当JPanel中有多个复选框时如何在AssertJ Swing中通过文本选择JCheckBox
- xml - 使用 xslt 按最大值标准获取对两个字段进行排序的记录
- swift - 给出一个≥高度约束的视图给了我“需要约束:Y 位置或高度”(Swift)
- wordpress - 徽标仅出现在我的 Wordpress 网站的首页上
- php - PHP:从 json 中提取 ISBN 的第一个实例
- file - 计数/列出应用程序文件夹 Ionic 3 中的文件