Laravel Request::input 调用未定义的方法

Posted

技术标签:

【中文标题】Laravel Request::input 调用未定义的方法【英文标题】:Laravel Request::input Call to undefined method 【发布时间】: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()

【问题讨论】:

【参考方案1】:

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

use Illuminate\Http\Request;

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

【讨论】:

请问一个菜鸟问题,但我认为所有公共方法都可以使用外观访问? 确实如此,但这仅在您静态调用给定方法时才有效,例如'请求::输入()'。只有静态调用会被转发到外观背后的对象的实例方法。

以上是关于Laravel Request::input 调用未定义的方法的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 进程组件安全问题?

检索最后插入的 Id。拉拉维尔

laravel 记住密码怎么实现

从 Laravel 作业调用的 Laravel 命令

Ajax 调用 Laravel 路由

laravel 怎么调用hash:make