【发布时间】:2019-11-18 13:13:52
【问题描述】:
我有两个相关的表,其中一个是 products 表,另一个是 products_photos 表。在products_photos 表中有id、product_id 和filename 列。我在编辑产品时尝试编辑多个图像。我得到的错误是
方法
Illuminate\Http\Request::photos不存在。
如何一次编辑多张图片?
这就是我创建多个图像的方式:
public function store(Request $request)
{
foreach ($request->photos as $photo) {
$filename = $photo->store('public/photos');
ProductsPhoto::create([
'product_id' => $product->id,
'filename' => $filename
]);
}
return redirect()->back();
}
这是我编辑多张图片的方式:
$image = Product::with('ProductsPhoto')
->where('id', $request->product_id)
->first();
if($request->photos('photos')) {
if(file_exists($image ->photos)){
unlink($image ->photos);
}
$filename = $photos->store('public/photos');
ProductsPhoto::create([
'product_id' => $product->id,
'filename' => $filename
]);
} else {
$image = $photos->store('public/photos');
}
$product = Product::with('ProductsPhoto')
->find($request->product_id);
$product->filename = $product->ProductsPhoto[0]->filename;
$product->save();
刀片模板:
<input multiple="multiple" name="photos[]" type="file">
【问题讨论】:
-
分享sn-p,显示你的Product模型和ProductPhoto之间的雄辩关系
-
你是指关系吗? @亨利
-
是的@joh。我刚刚在你的代码中注意到,你这样做了: $request->photos('photos') 你是什么意思?
-
我已经用模型@Henry 更新了问题
标签: php mysql laravel laravel-5