【问题标题】:Laravel Request::input Call to undefined methodLaravel Request::input 调用未定义的方法
【发布时间】:2016-04-18 21:16:35
【问题描述】:

我是 Laravel 框架的新手,现在在尝试更新登录用户信息时遇到问题。

路线:

Route::post('/user/{id}', function (Request $request, $id) {
    return App\Http\Controllers\UsersController::update($request, $id);
});

public static function update($request, $id)
{
    $user = User::find($id);
    $user->name = $request->input('name');
    ...
    $user->save();
    ...
}

错误:

UsersController.php 第 24 行中的 FatalErrorException:调用未定义的方法 Illuminate\Support\Facades\Request::input()

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    在文件顶部添加以下导入:

    use Illuminate\Http\Request;
    

    否则,您的控制器会从全局命名空间中注入 Request 类的实例,该命名空间是 Illuminate\Support\Facades\Request 的别名。/

    【讨论】:

    • 请问一个菜鸟问题,但我认为所有公共方法都可以使用外观访问?
    • 确实如此,但这仅在您静态调用给定方法时才有效,例如'请求::输入()'。只有静态调用会被转发到外观背后的对象的实例方法。
    猜你喜欢
    • 2016-04-03
    • 2023-03-21
    • 2016-11-18
    • 2013-10-23
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2015-05-31
    • 2016-06-05
    相关资源
    最近更新 更多