2017-03-06 4 views
0

yii2でそのエラーが発生しました。foreach()エラーで無効な引数が指定されました。ビューの2番目のモデルを見つけることができません。

Invalid argument supplied for foreach() 

私のレンダリング機能を使用して私の2番目のモデルを見ることはできません。私の見解で

私は

<?= $form->field($images, 'imagesFiles[]')->fileInput(['multiple' => true, 'accept' => 'image/*','id'=>'gallery-photo-add'])->label(false) ?> 

のような、そのモデルを使用して、コントローラのindexアクションで、そのモデルを置く:

public function actionIndex() 
    { 
     $model = new Form(); 
     $images = new Images(); 
     return $this->render('form',array(
      'model' => $model,'images' => $images 
     )); 

    } 

しかし、私の見解では、私はPHPStormからのヒントがあります: 未定義変数「画像を' とエラーが発生したforeachがあります

public function upload($model){ 
     $model->imagesFiles = UploadedFile::getInstances($model,'imagesFiles'); 
     foreach($model->imagesFiles as $file){ 
      $folder = ('uploads/' . $file->baseName . '.' . $file->extension); 
      $file->saveAs('uploads/' . $file->baseName . '.' . $file->extension); 
      $model->image_1.=$folder . ';'; 
     } 
     return $model->save(false); 
    } 
+0

あなたのコードは十分ではありません。あなたがupload($ model)関数を呼び出す場所は明確ではありません。そして、この$ modelの実際の内容は何ですか? – scaisEdge

答えて

1
ただ変数の型を確認するためにforeachの呼び出しの前に

var_dump($images) 

を入れ、

<?php 

use foo\Images; 

/* @var Images $images */ 

// $images is defined for PhpStorm 

のforeach()のparamなどのオブジェクトや配列を必要とします:

PhpStormはあなたのようなビューファイルでそれを記述する場合にのみ、あなたの変数が表示されます。

関連する問題