Php 无法更新Laravel中$request数组的元素
好的,这是我的控制器中的存储方法:Php 无法更新Laravel中$request数组的元素,php,laravel,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:
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数组的元素?将输入存储到新变量,然后对其进行修改可以解决问题。这就是我所做的:
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');
}
您还可以使用
$request->merge($array)
。