我无法获取对象数组中的图像的访问数组。
$this->validate($request, [
'blocks.*' => 'array|required',
'blocks.*.position' => 'required|integer',
'blocks.*.block_title' => 'required|max:100',
'blocks.*.block_text' => 'required|max:500',
'block.*.images' => 'required',
'block.*.images.*' => '|mimes:jpeg,jpg,png,gif,svg|max:10240',
]);它在以下代码片段中也会失败:
$blocks = $request->blocks;
foreach ($blocks as $block) {
$images = $request->file('blocks.images');我还尝试了以下几种方法:
$images =$block['images']; //not work
$images = $block['blocks.images']; // not work我想创建有图像的块。
发布于 2020-01-13 23:26:44
在请求中,您应该使用'blocks.*.images'和'blocks.*.images.*',而不是'block.*.images'和'block.*.images.*'。
要获取图像,您可以尝试:
$data = $request->all();
$blocks = $data['blocks'];
foreach ($blocks as $block) {
foreach ($block['images'] as $image) {
// $image should be a file
$file_name = $image->getClientOriginalName();
$file = Storage::putFileAs(
'path-to-save-file-at', $image, $file_name
);
}
}https://stackoverflow.com/questions/59704372
复制相似问题