如何在laravel更新数据库之前更改字段的值
问题描述:
首先让我们来看看我的代码。这里是我的控制器部分:如何在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),它的设置,而不是它的临时图片的路径是原来的名称。但是,在我的“上传”文件夹中,个人资料图片正在以真实姓名上传。所以,我试图从控制器部分改变它的价值。但它不起作用。
** $图像包含所需的值
答
试试这个:
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');
}