2017-03-24 11 views
0

複数の画像と値の配列を保存しようとしていますが、値は保存されていましたが、画像を追加するときに、ここで画像を1つだけアップロードすると、エラーが表示されます。

は私のコントローラ機能は、それが最後の更新後に正常に動作しています

public function store(Request $request) { 

$parentproduct = new Product(); 
    $parentproduct->id = Input::get('id'); 
    $parentproduct->save(); 
    $insertedId = $parentproduct->id; 
    $uploadcount=0; 


$files = Input::file('main_image'); 
$file_count = count($files); 

foreach($files as $i=>$file) { 

$multiupload=new ProductsTranslation(); 

if($request->hasFile('main_image')){ 

$destinationPath = 'website/images'; 
$filename = $file->getClientOriginalName(); 
$upload_success = $file->move($destinationPath, $filename); 
$uploadcount ++; 
$multiupload->main_image = $filename; 
$multiupload->id = $request->input('id')[$i]; 
$multiupload->title = $request->input('title')[$i]; 
$multiupload->language = $request->input('language')[$i]; 
$multiupload->product_id=$parentproduct->id; 
$multiupload->save(); 




} 



} 

だ...

+0

あなたのフォームは、私たちにしてくださいを示すことができましたか? –

+0

あなたの名前atrrの後ろに '[]'を追加して、 'main_image []'のように見せてください。 –

+0

これは私にこのエラーを受け取ります: 非オブジェクト上のgetClientOriginalName()メンバ関数の呼び出し –

答えて

0

はこれを試してみてください。

if (Input::hasFile('main_image')) { 
    foreach (Input::file('main_image') as $file) { 
     $destinationPath = 'website/images'; 
     $filename = $file->getClientOriginalName(); 
     $upload_success = $file->move($destinationPath, $filename); 
     $uploadcount ++; 


// You have to initialize your array out side your loop 
    $insertprod = []; 
    foreach ($request->input('language') as $i=>$language) { 
    $insertprod[] = array(
       'id' =>$request->input('id')[$i], 
       'product_id'=>$parentproduct->id, 
       'title' =>$request->input('title')[$i], 
       'language' => $request->input('language')[$i], 
       //used this line to save the image name path ! 
       'main_image'=>$filename[$i] 

      );  

    } 

    } 
    DB::table('products_translations')->insert($insertprod); 
} 
+0

ありがとう、私はしましたが、同じ問題がまだあります –

+0

'getClientOriginalName()'で同じエラーが発生しましたか? –

+0

はい、画像をアップロードしていませんでしたが、コードを更新して配列を取得しましたが、最後のアップロード画像(名前は取得してもアップロードできません)で取得できます。 と最後のものを取得し、それらを倍増。 私はそれを見るために自分のコードを更新します。 –

関連する問題