无法在Laravel中更新$ request数组的元素

时间:2017-08-19 21:16:14

标签: php laravel

好的,这是我控制器中的商店方法:

public function store(EmployeeRequest $request)
{
    if($request->hasFile('photo')){
        $path = $request->photo->store('employeeimages');
// This should have changed the element in the $request['photo'] index:
        $request->photo = $path; 
    dd($request->all());
    }
    Employee::create($request->all());
    return redirect('dashboard');
}

我认为$request->photo让我们可以访问数组的$request['photo']元素,所以我尝试按$request->photo = $path;更新它,但是当我死掉并转储$request->all()时, $request['photo']未更新,仍保留对前一个值的引用,该值是UploadedFile类的实例。如何更改$ request数组的元素?

1 个答案:

答案 0 :(得分:1)

将输入存储到新变量然后修改它可以解决问题。这就是我所做的:

public function store(EmployeeRequest $request)
{
    if($request->hasFile('photo')){
        $input = $request->all();
        $path = $request->photo->store('employeeimages');
        $input['photo'] = $path;
    }
    Employee::create($input);
    return redirect('dashboard');
}