【发布时间】:2017-08-18 14:19:58
【问题描述】:
我对 Laravel 很陌生,因此我正在尝试学习一些基础知识。我设法通过文件上传创建了一个 CRUD。我所做的是创建了一个资源控制器。我的存储方法:
public function store(Request $request) {
$this->validate($request, [
'name' => 'required',
'avatar' => 'required|image|mimes:jpeg,png,jpg,gif,svg',
'boat_type' => 'required',
'rooms' => 'required',
'price_per_hour' => 'required',
'price' => 'required',
]);
$boat = new Boat($request->input()) ;
if($file = $request->hasFile('avatar')) {
$file = $request->file('avatar') ;
$fileName = $file->getClientOriginalName() ;
$destinationPath = public_path().'/img/boats/avatars/' ;
$file->move($destinationPath,$fileName);
$boat->avatar = $fileName ;
}
$boat->save() ;
return redirect()->route('management.index')
->with('success','New Boat Successfully Added!');
}
这个方法工作得很好,我可以上传详细信息并将其存储到我的数据库中,并且可以在我的视图中对其进行操作。
但是当我尝试使用 UPDATE 方法时,我得到了确切的代码。但是当我尝试更新我的帖子时,除了我的头像变量之外,所有内容都可以更新。它更新它,但它以一种奇怪的格式存储它。这是我的更新方法
public function update(Request $request, $id)
{
$this->validate($request, [
'name' => 'required',
'boat_type' => 'required',
'rooms' => 'required',
'price_per_hour' => 'required',
'price' => 'required',
]);
$boat = Boat::find($id);
if($file = $request->hasFile('avatar')) {
$file = $request->file('avatar') ;
$fileName = $file->getClientOriginalName() ;
$destinationPath = public_path().'/img/boats/avatars/' ;
$file->move($destinationPath,$fileName);
$boat->avatar = $fileName ;
}
$boat->save() ;
$boat_update = $request->all();
$boat->update($boat_update);
$request->session()->flash('alert-success', 'Boat Successfully Updated!');
return redirect('/management');
}
当我编辑头像变量时,它将它存储在/img/boats/avatars/C:\xampp\tmp\phpFA50.tmp
我不太确定出了什么问题。任何帮助将不胜感激。
【问题讨论】:
标签: php model-view-controller laravel-5.4