gpt4 book ai didi

php - 如何从 laravel 中插入的图像数组中获取单个图像?

转载 作者:可可西里 更新时间:2023-11-01 12:53:59 25 4
gpt4 key购买 nike

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com