forms - 更新控制器方法不在 Laravel 中呈现 json 数据
问题描述
我有一个简单的表单,其中包含一些文本输入并使用该表单上传照片。存储方法工作得很好,但我在更新方法中做错了。
这是我的商店方法,效果很好:
public function store(Request $request)
{
dd($request);
$post = new Post;
$post->title = $request->title;
$post->user_id = $request->user()->id;
$post->who = $request->who;
$post->when = $request->when;
$post->where = $request->where;
$post->body_text = $request->body;
$post->embed = $request->embed;
$post->status = "4";
$post->tags = $request->tags;
$post->slug = "asdasd";
$post->ip = request()->ip();
if($request->hasfile('photo'))
{
foreach($request->file('photo') as $image)
{
$name= time()."".$this->photo_san($image->getClientOriginalName());
$image->move(public_path().'/uploads/', $name);
$data[] = $name;
}
$post->photo = json_encode($data);
}
$post->save();
$post->slug = $post->id."-".$this->make_slug($request->title);
$post->save();
Session::flash('success', 'Well done.');
return redirect()->route('archive');
}
这是我的更新方法,它可以保存除照片以外的所有内容:
public function update(Request $request, $id)
{
if(Auth::user()->role == 3 || Auth::user()->id == Post::find($id)->user_id){
$post = Post::find($id);
$post->title = $request->title;
$post->user_id = $request->user()->id;
$post->who = $request->who;
$post->when = $request->when;
$post->where = $request->where;
$post->body_text = $request->body;
$post->embed = $request->embed;
$post->status = "4";
$post->tags = $request->tags;
$post->slug = $id."-".$this->make_slug($request->title);
$post->ip = request()->ip();
if($request->hasFile('photo'))
{
foreach($request->file('photo') as $image)
{
$name= time()."-edit-".$this->photo_san($image->getClientOriginalName());
$image->move(public_path().'/uploads/', $name);
$data[] = $name;
}
$post->photo = json_encode($data);
}
$post->save();
Session::flash('success', 'Well done.');
return redirect()->route('new');
}
else
Session::flash('error', 'Shame on you :( ');
return redirect()->route('new');
}
当我更新任何帖子时,所有内容都在更新,但照片除外,我不知道出了什么问题。我不知道它是否不同,但我使用的是 Laravel 5,8
解决方案
推荐阅读
- sql-server - 实体框架迁移不会删除索引约束
- c# - 缺少禁用变量的函数正在运行
- java - jasper 重新报告文件未找到
- javascript - Javascript数组获取孩子的路径
- python - 如何使用 python 编辑 dbf 文件(来自 shapefile)在字段名称中保持混合大小写:dbf 包限制?
- python - 使用 Python 启动 Selenium 测试后浏览器立即关闭,出现 BROWSER_SWITCHER_SERVICE.CC(238) 错误
- mysql - Oracle MYSQL 执行计划
- python - 我的 for 循环有问题,使用 networkx 查找子路径的最短路径长度
- ruby-on-rails - Rails 服务器没有从 Docker 开始
- python - 使用 pandas 匹配和比较两个数据帧并根据缺失值进行更新