Laravel 5.4使用请求并使用Illuminate \ Http \ Request;不能同时工作

时间:2019-03-02 10:52:40

标签: laravel laravel-5.4

我无法同时使用我的名称空间。似乎是什么问题?如果我使用use Illuminate\Http\Request;并注释掉use Request。我在函数1上的代码有效。当我使用功能2时,会产生错误(Non-static method Illuminate\Http\Request::file() should not be called statically

当我使用use Request;并注释掉use Illuminate\Http\Request然后使用函数1时,出现此错误(Call to undefined method Illuminate\Support\Facades\Request::hasFile())。当我使用功能2时,代码可以正常工作。

使用的命名空间:

   use Illuminate\Http\Request;
   use Request;

功能1:

public function PharmaaddList(Request $request)
  {
    if($request->hasFile('medicines')){

        #Code Here
    }
}

功能2:

 public function PharmaImageUpload(Request $request)
{
    $fileupload = Request::file('fileupload');
    #Code Here
}

2 个答案:

答案 0 :(得分:3)

您需要为其中一个类添加别名,以便在同一文件中使用它们:

use Illuminate\Support\Facades\Request as RequestFacade;
use Illuminate\Http\Request;

...

public function PharmaImageUpload(Request $request)
{
    $fileupload = RequestFacade::file('fileupload');
}

答案 1 :(得分:0)

您只需要使用这两个类中的一个,或者您需要对其中一个类进行别名以在同一文件中使用它们

像这样

    public function PharmaaddList(Request $request)
      {
        if($request->input('medicines')){

            #Code Here`enter code here`
        }
    }


public function PharmaImageUpload(Request $request)
{
    $fileupload = $request->input('fileupload');
    #Code Here
}