2017-08-19 5 views
0

さて、ここでは私のコントローラでstoreメソッドです:

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

新しい変数に入力を格納してから変更すると、問題が解決します。これは私がやったことです:

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'); 
} 
+1

あなたは '$ request-> merge($ array)'を使うこともできます。 –

関連する問題