php - 将值发布到数据库 laravel
问题描述
我正在尝试向我的缩略图添加描述,但它不会在我的数据库中更新。
你们能看出为什么吗?
唯一thumb_description
不会更新的。
填充物已填充。当我这样做$content->save()
时,它将返回 true。
控制器:
public function detail(Request $request, $id)
{
$content = Content_blocks::find($id);
if ($request->isMethod('post')) {
if ($request->hasFile('image')) {
$folder = 'uploads';
$name = $request->image->getClientOriginalName();
$store = $request->image->store($folder, 'public');
$file = pathinfo(Storage::url($store));
$thumb_description = $request->input('thumb_description');
$thumbnail = new Thumbnail();
$thumbnail->name = $file['filename'];
$thumbnail->extenstion = $file['extension'];
$thumbnail->path = $folder;
$thumbnail->thumb_description = $thumb_description;
$thumbnail->save();
$content->thumbnail_id = $thumbnail->id;
}
$content->title = $request->input('title');
$content->description = $request->input('description');
$content->link = $request->input('link');
$content->linkname = $request->input('linkname');
$content->order = $request->input('order');
$content->contentcategory_id = $request->input('categorie');
$content->thumbnail->thumb_description = $request->input('thumb_description');
if ($request->input('ontkoppel') === 'deletion') {
Thumbnail::find($content->thumbnail_id)->delete();
}
// dd($content->thumbnail->thumb_description);
$content->save();
return redirect('admin/content/webcategorie/homepage/contentblocks/' . $content->content_id);
}
模型
<?php
namespace App\Models;
use Illuminate\Support\Facades\Storage;
class Thumbnail extends Model
{
protected $fillable = [
"thumb_description",
"name",
"path",
"extenstion"
];
protected $table = 'thumbnail';
public function content()
{
return $this->belongsTo(Content::class);
}
public static function getFile($id)
{
$thumbnail = self::find($id);
if ($thumbnail === null) {
return null;
}
$url = sprintf('%s/%s.%s', $thumbnail->path, $thumbnail->name, $thumbnail->extenstion);
return Storage::disk('public')->url($url);
}
public static function getDescription($id)
{
$thumbnail = self::find($id);
if ($thumbnail === null) {
return null;
}
$description = $thumbnail->thumb_description;
return $description;
}
}
移民
*/
public function up()
{
Schema::create('thumbnail', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 255);
$table->string('path', 150);
$table->string('extenstion', 10);
$table->text('thumb_description');
$table->timestamps();
});
}
发表在 chrome 开发工具中
------WebKitFormBoundaryfun4SMk5TA604OZE
内容处置:表单数据;名称="thumb_description"
布鲁扬加
解决方案
$content->save();
只会保存属性$content
而不是其关系。
试试$content->push();
哪个应该通过加载的关系级联并保存所有相关的模型。
https://laravel.com/api/5.6/Illuminate/Database/Eloquent/Model.html#method_push
推荐阅读
- java - 仅匹配现有字段的反射实用程序
- python-3.x - 拟合顺序模型后缺少 val_acc
- elasticsearch - 弹性搜索查询无法运行
- c# - 两次覆盖相同的函数
- git - git push 给出:错误:RPC 失败;curl 18 传输已关闭,剩余未完成的读取数据
- konvajs - 默认情况下如何在顶部添加新形状
- ruby-on-rails - Rspec DRY:将示例应用于所有上下文
- node.js - Firebase Realtime 与 Firebase Firestore 文档加载时间的差异
- python - 在实体组件系统中应该如何处理设置代码?
- unity3d - 同一物体没有统一发生碰撞