Controller function:
<?php
public function addImages(Request $request, $imagesProductId) {
$product = Product::create($request->all());
$filenames = array();
if (empty($request->images)) {
$message = "error";
return Redirect::back()->with('message', $message);
}
$rules = [
'images' => 'mimes:jpeg,jpg,png'
];
$validator = Validator::make($request->all(), $rules);
$result = $validator->fails() ? 'QCVerified' : 'QCFailed';
foreach ($request->images as $photo) {
$filename = $photo->store('public/uploadedImages');
$filename = substr($filename, 22);
$filenames[] = asset('storage/uploadedImages/' . $filename);
ProductsPhoto::create([
'nonliveStatus' => $result,
'product_id' => $product->id,
'productId' => $imagesProductId,
'filename' => $filename
]);
}
return response()->json($filenames);
}
?>
This is my storage function to store an array of images.
Function To get a single image from an image array:
<?php
$liveValues = priceInfo::join('productDescription', 'productDescription.productId', '=', 'productPriceDetails.productId')
->join('productAdditionalInformation', 'productAdditionalInformation.productId', '=', 'productPriceDetails.productId')
->join('products_photos', 'products_photos.productId', '=', 'productAdditionalInformation.productId')
->select('products_phots.filename')
->where('productPriceDetails.nonliveStatus', '=', "QCVerified")
->get();
?>
Here I select the image file from the table. It retrieves multiple images stored based on a single identifier. But I need only one image from an array of saved images.
source
share