如何在 Laravel 7 中制作具有相同 id 的多张图片

How to make multi images with the same id in Laravel 7

我正在制作一个产品图片上传表单,导致许多图片属于一个产品 ID。我该怎么做?

上传多张图片已经成功,但是产品id还是分开的

这是我的控制器:

public function store(ProductRequest $request,$id) {
    if ($request->hasFile('photo')){

        $photos = $request->file('photo');

        foreach ($photos as $photo) {

            $data= $request->all();

            $data['slug'] = Str::slug($request->name);
            $product=Product::create($data);

            $uploadphoto = [
                'products_id' => $product->id,
                'photos' => $photo->store('assets/product','public')
            ];
             ProductGallery::create($uploadphoto);
        }
    }else{
        return "image not found";
    }

    return redirect()->route('dashboard-product');

}

您正在 foreach 内创建产品,这将创建多个产品。如果您只需要一种产品,请在 foreach 之外保留创建产品的代码。

public function store(ProductRequest $request,$id) {
    if ($request->hasFile('photo')){
        
        $photos = $request->file('photo');

        $data= $request->all();

        $data['slug'] = Str::slug($request->name);
        $product=Product::create($data);



        foreach ($photos as $photo) {
            $uploadphoto = [
                'products_id' => $product->id,
                'photos' => $photo->store('assets/product','public')
            ];
             ProductGallery::create($uploadphoto);
        }



    }else{
        return "image not found";
    }      
    
    return redirect()->route('dashboard-product');

}