【问题标题】:laravel views and routers undefined objectlaravel 视图和路由器未定义对象
【发布时间】:2019-01-15 16:19:00
【问题描述】:

我的路线:

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 错误。 如果没有语言环境路线,它可以正常工作,那么它可能是什么问题?尝试使用紧凑和数组结果相同,甚至尝试在我的资源控制器路由中添加该语言环境路由,仍然是同样的问题。

【问题讨论】:

  • 您的"/home/{lang?}" 是新的route,所以您需要在route 中传递HomeController@index

标签: php laravel


【解决方案1】:

在您的语言环境路线中,您尝试渲染视图“家”,但您没有在其中传递任何参数

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]);
});

【讨论】:

    猜你喜欢
    • 2020-05-22
    • 2018-06-30
    • 2018-12-16
    • 2019-10-19
    • 1970-01-01
    • 2020-02-06
    • 2015-01-16
    • 2019-05-03
    相关资源
    最近更新 更多