2017-06-18 137 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'); 
    } 
相关问题