我正在制作一个产品图像上传表单,导致许多图像属于一个产品id。我怎么做呢?
对于上传多张图片,已经成功,但是产品id仍然是分开的。
This my controller:
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将创建多个产品。如果您只需要一个产品,请将创建产品的代码保留在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');
}