2017-03-06 1 views
0

Ich habe diesen Fehler in yii2.Ungültiges Argument für foreach() -Fehler angegeben, kann kein zweites Modell in Sicht finden

Invalid argument supplied for foreach() 

Meine Ansicht kann mein zweites Modell nicht sehen, was ich mit render-Funktion einsetze;

meiner Ansicht verwende ich dieses Modell wie

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

und setzen dieses Modell in Controller-Index Aktion:

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

    } 

Aber meiner Ansicht Ich habe Tipp von PhpStorm: undefinierte Variable ‚Bilder ' und ich habe das foreach wo Fehler verursacht wurde

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

Ihr Code ist nicht genug .. ist nicht klar, wo Sie die Upload-Funktion ($ Modell) aufrufen und was ist dann der wahre Inhalt dieses $ -Modell – scaisEdge

Antwort

1

PhpStorm Ihre Variable nur sehen, wenn Sie es in View-Datei beschreiben wie:

<?php 

use foo\Images; 

/* @var Images $images */ 

// $images is defined for PhpStorm 

foreach() benötigt Objekt oder Array als param, setzen nur

var_dump($images) 

vor foreach Anruf Variablentyp zu überprüfen.

Verwandte Themen