Php 从Laravel 7中的控制器获取数据

Php 从Laravel 7中的控制器获取数据,php,laravel,web,Php,Laravel,Web,我想将我的数据从controller发送到xedit.blade.php,但我收到了相同的错误: Undefined variable: users 在控制器中: public function index3() { $users=User::all(); return view('xedit')->with('users' => $users); } 路线: Route::get('admin/edit', function ()

我想将我的数据从controller发送到xedit.blade.php,但我收到了相同的错误:

 Undefined variable: users
在控制器中:

public function index3()
    {
        $users=User::all();

    return view('xedit')->with('users' => $users);

    }
路线:

Route::get('admin/edit', function () {
    return view('xedit');
})->name('edit');

 Route::get('edit','Admin\UsersController@index3');
我想在blade中使用$users。可能有路由问题?

可能是此路由

Route::get('admin/edit', function () {
return view('xedit');
})->name('edit');

此路由不包含$users,可能这就是它未定义的原因

问题是您对两条路线使用相同的视图xedit admin/edit和/edit。 因此,当您访问xedit视图文件中的admin/edit$users变量时,没有得到任何值,这意味着它是未定义的。在使用$users变量之前,请尝试检查该变量是否已定义。

您必须进行更改

Route::get('edit','Admin\UsersController@index3')->name('edit');
使用此代码

它调用AdminController的index3,函数返回视图

下面的代码不会在AdminController中调用index3,而是返回 直接使用空数据创建视图


试试这个:使用['users'=>$users]返回视图'xedit'->@OlegNurutdinov我收到了相同的错误似乎您在访问管理/编辑url时收到了错误,而不仅仅是在编辑中,因为用户变量未定义并从管理/编辑url传递。对于所解释的情况,我们不应该使用最后一个代码。此外,如果我们不需要调用控制器函数,那么我们可以使用最后一个代码直接调用视图。确定。如果有任何进一步的疑问,请尝试并发表评论@ThiTle@ThiTle有帮助吗?如果是,请接受答案。我将$users=User::all;直接在路由文件中。你认为是什么,对吗?没有安全问题?我从不使用路由提取数据。我总是在我的控制器@ThiTle中这样做
Route::get('/admin/edit','AdminController@index3')->name('edit');
public function index3()
{
    $users=User::all();
    return view('xedit')->with('users' => $users);
}
Route::get('admin/edit', function () {
    return view('xedit');
})->name('edit');