未定义的变量:请求 - Laravel 5.1

Posted

技术标签:

【中文标题】未定义的变量:请求 - Laravel 5.1【英文标题】:Undefined variable: request - Laravel 5.1 【发布时间】:2019-02-18 10:10:27 【问题描述】:

我已将它包含在我的文件顶部

use Request;

还有,

use Illuminate\Http\Request;


当我尝试使用时

$files = $request->file('images');
dd($files);

我一直得到

PortfolioController.php 第 113 行中的 ErrorException: 未定义变量:请求

为什么?

根据5.1的文档

https://laravel.com/docs/5.1/requests

使用 Illuminate\Http\Request;

应该够了。


控制器

public function update($id) 

    $files = $request->file('images');

    ...


【问题讨论】:

显示控制器功能,应该有$request变量注入。 尝试 Request::file('images) 或将 $request 变量注入到您的函数调用中。 注入 $request 这样public function update(Request $request, $id) ... @Webinion :啊,明白了。 【参考方案1】:

只需删除use Request; 在您的控制器的操作中,您应该使用请求作为参数:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PortfolioController extends Controller 

    public function update(Request $request, $id) 
        $files = $request->file('images');

        dd($files, $id);
        // the rest of your code
    

【讨论】:

我的是更新函数,不是索引,里面有参数$id @kyo 我添加了一个 ID!希望对您有所帮助! 当我按照你的建议更新参数时,我得到了这个:i.imgur.com/M9y5GTD.png 你确定public function update(Request $request, $id) 是正确的吗? `` @kyo 是正确的。您还可以按update($id, Request $request) 的顺序更改参数,使其看起来更清晰。

以上是关于未定义的变量:请求 - Laravel 5.1的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Jetstream Livewire 未定义变量

Laravel 5.1 路线未定义

Laravel 5.1 UrlGenerator 路由未定义错误

Laravel 5.1 中未定义的默认命名空间

Laravel 5.1 错误调用未定义函数 App\Http\Controllers\Auth\sendRegistermail()

未定义的变量:Laravel中的错误