Когда я редактирую продукт, я пытаюсь также отредактировать несколько изображений, поэтому, если я загружаю новые изображения, старые изображения должны быть заменены новыми, но теперь, если я загружаю изображения, я получаю ошибку Property [filename] does not exist on this collection instance."
истарые изображения не удаляются, но новые изображения были добавлены.Существуют связанные таблицы products и ProductsPhoto, в таблице ProductsPhoto есть столбец имени файла и столбец product_id.Как я могу заменить старые изображения новыми при редактировании продукта?
Мой код.
Шаблон лезвия
<input multiple="multiple" name="photos[]" type="file">
Контроллер
public function update(Request $request)
{
$product = Product::with('ProductsPhoto')->find($request->product_id,'id');
if ($request->hasFile('photos')){
//Add the new photo
foreach ($request->photos as $photo) {
$filename = $photo->store('public/photos');
ProductsPhoto::create([
'product_id' => $product->id,
'filename' => $filename
]);
}
$oldFilename = $product->ProductsPhoto->filename;
//Update the database
$product->ProductsPhoto->filename = $filename;
//Delete old photo
Storage::delete($oldFilename);
}
$product->save();
}