入力を使用してファイルをアップロードしようとしましたが、悲しいことに失敗しました。私はそれを行うにはRequest
を使用しようとしていますが、私は次のエラーを取得:Laravel - 要求から複数のファイルをアップロードしてフォルダに移動する
Call to a member function move() on string
ブレード:
<input type="file" name="productImage[]" id="" multiple>
コントローラ:私は私を取得する必要があり
public function addProduct(Request $request)
{
$this->validate($request, [
'title' => 'required',
'description' => 'required',
'details' => 'required',
'price' => 'required',
'subcategory' => 'required',
'color' => 'min:1',
'size' => 'min:1',
'productImage' => 'min:1'
]);
$product = new Product();
$product->subcategory_id = $request['subcategory'];
$product->gender_id = $request['gender'];
$product->title = $request['title'];
$product->description = $request['description'];
$product->details = $request['details'];
$product->price = $request['price'];
$product->save();
foreach ($request['color'] as $color_id) {
$color = Color::find($color_id);
$product->colors()->save($color);
}
foreach ($request['size'] as $size_id) {
$size = Size::find($size_id);
$product->sizes()->save($size);
}
foreach ($request->file('productImage') as $productImage) {
$file = $productImage;
$file->move('images', $file->getClientOriginalName());
$image = new Image();
$image->product_id = $product->id;
$image->path = $file->getClientOriginalName();
$product->images()->save($image);
}
return redirect()->route('admin.products')->with(['added' => 'Продукт добавен успешно!']);
}
ファイルとその名前をコピーして、自分のimagesフォルダにアップロードします。
私は質問をする前に、このソリューションを試してみました。私はforeach()の引数が無効です - – Codearts
コントローラコードを教えてください。おそらくあなたは間違いを犯しているでしょう。 –
私は自分の質問を編集しました。そこに私のコントローラーが見えます。 – Codearts