gpt4 book ai didi

php - 使用 product_id 上传的 Laravel dropzone 问题

转载 作者:行者123 更新时间:2023-11-30 21:39:00 26 4
gpt4 key购买 nike

假设我有一个产品,它有很多图片。我使用了 Dropzone js,如果我上传图片那么它很好但是如果想用 product_id 存储然后它传递空值。没有传递任何值(value)它的工作正常。那么我怎样才能同时存储图像名称和 product_id 呢?这是我的 Controller :

 public function store(Request $request)
{
if ($request->hasFile('file')){

$file= $request->file;
$fileName = $file->getClientOriginalName();
$fileName = time() .'-'.$fileName;
$productImage = public_path("uploads/products/{$fileName}"); // get previous image from folder
if (File::exists($productImage)) { // unlink or remove previous image from folder
unlink($productImage);
}
$file->move('public/uploads/products/',$fileName);
$image = new Image();
$image->image = $fileName;
$image->product_id = $request->product_id;
$image->save();

// return redirect()->route('product.index');

}
}

数据库架构:

 Schema::create('images', function (Blueprint $table) {
$table->increments('id');
$table->string('image');
$table->integer('product_id')->unsigned()->nullable();
$table->foreign('product_id')->references('id')->on('products')->onUpdate('cascade')->onDelete('cascade');
$table->timestamps();
});

错误:

message: "SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (eshop.images, CONSTRAINT images_product_id_foreign FOREIGN KEY (product_id) REFERENCES products (id) ON DELETE CASCADE ON UPDATE CASCADE) (SQL: insert into images (image, product_id, updated_at, created_at) values (1538483231-blog-1-3.png, 123, 2018-10-02 12:27:11, 2018-10-02 12:27:11))"

最佳答案

Mysql 给出“无法添加或更新子行:外键约束失败”,因为您在 123 id 的产品表中没有任何产品。首先,您需要创建该产品。之后你可以为它创建关系记录

关于php - 使用 product_id 上传的 Laravel dropzone 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52608366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com