public function update(UpdatePostRequest $request, Post $post)
{
$request->validate([
//unique:table,column,id
"title" => "required|unique:posts,title,".$this->route('post')->id."|min:5",
"description" => "required|min:15",
"cover" => "nullable|file|mimes:jpeg,png|max:5000"
]);
$post->title = $request->title;
$post->slug = Str::slug($request->title);
$post->description = $request->description;
$post->excerpt = Str::words($request->description,50);
if($request->hasFile('cover')){
// delete old cover
Storage::delete("public/cover/".$post->cover);
// upload new cover
$newName = "cover_".uniqid()."_".$request->file('cover')->extension();
$request->file('cover')->storeAs("public/cover",$newName);
// save to table
$post->cover = $newName;
}
$post->update();
return redirect()->route('post.detail',$post->slug)->with('status','Post Updated');
}