2016-05-12 143 views
2

我不能调用此方法Laravel getClientOriginalName foreach循环内

getClientOriginalName 

这个循环里

 foreach ($request->file('images', []) as $scenesImagesData) { 
      $scenes_images = new ScenesImages($scenesImagesData); 
      $scenes_images->product()->associate($product); 
      $fileName = $scenesImagesData->getClientOriginalName(); 
      $filePath = $targetPath . '\\' . $fileName; 
      $scenes_images->save(); 
     } 

我获得以下错误:

Call to a member function getClientOriginalName() on a non-object 

如果我的DD($ scenesImagesData)我得到这个:

array:1 [▼ 
    "scenes_images" => UploadedFile {#30 ▼ 
    -test: false 
    -originalName: "dog.jpg" 
    -mimeType: "image/jpeg" 
    -size: 434516 
    -error: 0 
    } 
] 

这是我选择的文件。

因此我有一个

enctype="multipart/form-data" 
在我的形式

如果我print_r($scenesImagesData);

我得到以下几点:

Array ([scenes_images] => Symfony\Component\HttpFoundation\File\UploadedFile Object ( [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => dog.jpg [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 434516 [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0 [pathName:SplFileInfo:private] => C:\xampp\tmp\php786B.tmp [fileName:SplFileInfo:private] => php786B.tmp))

+0

尝试'$文件名= $ scenesImagesData [“scenes_images”] - > getClientOriginalName();' – Digitlimit

回答

1

所以,你有一个数组内的对象,所以试试这个:

$name = $scenesImagesData['scenes_images']->getClientOriginalName(); 
+0

嗯确定你将如何解决这个 –

+0

我已经更新了我的答案 –

+0

谢谢,但我得到这个调用一个成员函数来获取( )在非对象 –

0

尝试

$scenesImagesData["scenes_images"]->UploadedFile()->originalName 

$scenesImagesData["scenes_images"]->getClientOriginalName(); 

他们中的一个或两个应该工作。

+0

if dd($ scenesImagesData ['originalName']);我得到一个未定义的索引:originalName –

+0

让我知道什么print_r($ scenesImagesData);显示plz –

+0

好的一秒请 –