php - Laravel:帖子类别未更新
问题描述
我是 Laravel 的新手,我正在尝试更新我的帖子。
标题、描述、内容、图像和日期正在更新。但是,该类别没有更新。
我在类别和帖子之间创建了一个关系。
postCreateUpdate.blade.php
<div class="form-group">
<label for="category">Category</label>
<select name="category" id="category" class="form-control">
@foreach ($categories as $category)
<option value="{{ $category->id }}"
@if (isset($posts))
@if($category->id == $posts->category_id)
selected
@endif
@endif
>
{{ $category->name }}
</option>
@endforeach
</select>
</div>
PostController.php
public function update(UpdatePostRequest $request, Post $post)
{
$data = $request->only(['title','description','content','published_at','category']);
if($request->hasFile('image')){
$image = $request->image->store('posts');
$post->deleteImage();
$data['image'] = $image;
}
$post->update($data);
session()->flash('success','Post Updated Successfully');
return redirect(route('post.index'));
}
我已将文件添加到 github。这是链接:https ://github.com/remanbala/LaravelCMSExample
解决方案
您的帖子表中可能有一个名为“category_id”的列,但在这种情况下,您试图在表中可能不存在的名为“category”的列上设置一个 id。
尝试将 'category' 更改为 'category_id':
postCreateUpdate.blade.php
<div class="form-group">
<label for="category">Category</label>
<select name="category_id" id="category_id" class="form-control">
@foreach ($categories as $category)
<option value="{{ $category->id }}"
@if (isset($posts))
@if($category->id == $posts->category_id)
selected
@endif
@endif
>
{{ $category->name }}
</option>
@endforeach
</select>
</div>
PostController.php
public function update(UpdatePostRequest $request, Post $post)
{
$data = $request->only(['title','description','content','published_at','category_id']);
if($request->hasFile('image')){
$image = $request->image->store('posts');
$post->deleteImage();
$data['image'] = $image;
}
$post->update($data);
session()->flash('success','Post Updated Successfully');
return redirect(route('post.index'));
}
推荐阅读
- java - IntelliJ 中的本地 Tomcat - 无法运行程序 catalina.bat
- powershell - 我可以使用 Add-AppxProvisionedPackage 来安装依赖 appx 包吗?
- java - 如何长时间从图库中获取图像 Uri?
- ios - 如何在swift中将集合视图转换为圆形icarousel
- javascript - 如何编写一个匹配第一个和最后一个引号之间的所有内容的正则表达式?
- alexa - 在 LaunchRequestHandler 中更改 SpeechText 会破坏 Alexa 技能
- python - 创建公共列并转换时间序列,如数据
- java - 在使用 restful API 向搜索引擎发送查询时使用高级搜索运算符
- node.js - 错误:Node Sass 尚不支持您当前的环境:Linux 64-bit with Unsupported runtime (72)
- python - 从 github 中的特定分支获取提交