作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
Controller 函数:
<?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' // allowed MIMEs
// size in pixels
];
$validator = Validator::make($request->all(), $rules);
$result = $validator->fails() ? 'QCVerified' : 'QCFailed';
foreach ($request->images as $photo) {
// echo($result);
$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);
}
?>
这是我存储图像数组的存储函数。
函数从图像数组中获取单个图像:
<?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();
?>
这里我从表中选择图像文件。它根据单个 id 获取存储的多张图像。但我只需要存储的图像数组中的一张图像。
最佳答案
您当前的数据库查询仅列出所有可能的文件名,因为没有添加 ID 限制。
由于 OP 指出您想根据单个 ID 查找文件名,而您对其他答案的评论表明您不想限制获取的记录,因此您可以扩展查询以包含一个 ID,然后在结果集合中执行搜索:
// I've included the "productId" column here, but feel free to include any other column as required.
$liveValues = priceInfo::join('productDescription', 'productDescription.productId', '=', 'productPriceDetails.productId')
->join('productAdditionalInformation', 'productAdditionalInformation.productId', '=', 'productPriceDetails.productId')
->join('products_photos', 'products_photos.productId', '=', 'productAdditionalInformation.productId')
->select('products_photos.productId', 'products_photos.filename')
->where('productPriceDetails.nonliveStatus', '=', "QCVerified")
->get();
// Get the image filename for a given productId.
// ID calculation logic here.
$productId = 512; // Sample ID
// $liveValues is a Collection.
$filename = $liveValues->where('productId', $productId)
->pluck('filename')
->first(); // Get first filename if there are multiple.
当然,这只是一个如何解决这个问题的例子。您肯定需要调整它以适应您的其余代码。
关于php - 如何从 laravel 中插入的图像数组中获取单个图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46703677/
我是一名优秀的程序员,十分优秀!