首页 > 解决方案 > SQLSTATE [42S22]:未找到列:1054 '字段列表'中的未知列'图像'(SQL:插入'徽章

问题描述

我的控制器的名称是“BadgeController”。这是我在 BadgeController 中的存储功能。

public function store(Request $request)
{
    $request->validate([
        'image' => 'required',
    ]);
    $image = $request->file('image');
    $new_name = rand().'.'.$image->getClientOriginalExtension();
    $image->move(public_path('image'), $new_name);
    $form_data = array(
        'image' => $new_name,
    );

    Badge::create($form_data);

    return redirect('badges.index')->with('success', 'Data Added successfully.');
}

我的表名是“徽章”。这是我的桌子

public function up()
{
    Schema::create('badges', function (Blueprint $table) {
        $table->id();
        $table->string('images')->nullable();
        $table->timestamps();
    });
}

模型的名称是徽章。这是我的模型

class Badge extends Model
{
     use HasFactory;

     protected $table = 'badges';

     protected $fillable = [
        'image',
     ];
}

标签: laravel

解决方案


您正在尝试在“图像”字段中插入数据,而不是在“图像”字段中。这就是您收到错误Unkown column "image"的原因

 $image = $request->file('image');

更正它,也在你的$fillable变量中


推荐阅读