2017-06-18 84 views
0

首先讓我們來看看我的代碼。這裏是我的控制器部分:如何在laravel更新數據庫之前更改字段的值

public function store(Request $request){ 

     $data=$request->all(); 
     $adminProfile=AdminProfile::find(1); 

     $image = $request->file('admin_propic')->getClientOriginalName(); 
     $gallery = new AdminProfile(); 
     $gallery->admin_propic= $image; 
     $adminProfile->admin_propic=$image; 
     $request->admin_propic->move(public_path('uploaded'),$image); 

     $request->admin_propic = $image; 
     if($adminProfile){ 
      $adminProfile->update($request->all()); 
     } 
     else{ 
      AdminProfile::create($data); 
     } 

     return view('dashboard part-admin.edit_profile'); 
    } 

現在的事情是,當我更新資料圖片(admin_propic),它的設置,而不是它的臨時圖片的路徑是原來的名稱。但是,在我的「上傳」文件夾中,個人資料圖片正在以真實姓名上傳。所以,我試圖從控制器部分改變它的價值。但它不起作用。

** $圖像包含所需的值

回答

1

試試這個:

public function store(Request $request){ 

     $data=$request->all(); 
     $adminProfile=AdminProfile::find(1); 

     $image = $request->file('admin_propic')->getClientOriginalName(); 
     $gallery = new AdminProfile(); 
     $gallery->admin_propic= $image; 
     $adminProfile->admin_propic=$image; 
     $request->admin_propic->move(public_path('uploaded'),$image); 

     // $request->admin_propic = $image; this will not work i think as request object is readonly as far as i know. 
     if($adminProfile){ 
      // updated here 
      $data['admin_propic'] = $image 
      $adminProfile->update($data); 
     } 
     else{ 
      AdminProfile::create($data); 
     } 

     return view('dashboard part-admin.edit_profile'); 
    }