0
當我試圖使文件上傳多次失敗。當我上傳時,結果是錯誤的。錯誤描述可以看到下面的內容。以及解決方案如何?文件上傳多個錯誤是「獲取不明財產」yii2
未知屬性 - yii \ base \ UnknownPropertyException。 獲得未知屬性:應用程序\型號\畫廊::峇底KRS.JPG
代碼控制器
public function actionGallery()
{
$model = new \app\models\Gallery();
if (\Yii::$app->request->post()) {
$model->image = \yii\web\UploadedFile::getInstances($model, 'image');
if ($model->validate()) {
foreach ($model->image as $file) {
$saveTo = 'uploads/' . $file->baseName . '.' . $model->$file->extension;
if ($file->saveAs($saveTo)) {
$model2 = new \app\models\Gallery(['image' => $file->baseName . '.' . $file->extension,
]);
$model2->save(false);
}
}
\Yii::$app->session->setFlash('success', 'Success uploaded !');
}
}
return $this->render('gallery', ['model' => $model
]);
}
碼鑑於
<?php
use yii\widgets\ActiveForm;
use yii\helpers\Html;
?>
<h1>Gallery</h1>
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data'] ]) ?>
<?= $form->field($model, 'image[]')->fileInput(['multiple' => true]) ?>
<div class="form-group">
<?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div>
<?php
ActiveForm::end();
?>
代碼模型
<?php
namespace app\models;
use Yii;
use yii\web\UploadedFile;
use yii\validators\FileValidator;
/**
* This is the model class for table "gallery".
*
* @property integer $id
* @property string $image
*/
class Gallery extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'gallery';
}
/**
* @inheritdoc
*/
public function rules()
{
return
[[['image'], 'file', 'extensions' => ['png', 'jpg', 'gif'], 'maxFiles' => 0], ]
;
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'image' => 'Image',
];
}
}
什麼是完整的堆棧跟蹤?即行號爲 – Manquer
\ app \ models \ Gallery(['image'=> $ file-> baseName。'。'。$ file-> extension]); 這是錯誤來自的地方。您將一個$ config-Array放入模型類中。檢查模型實例的創建。 – MacGyer
https://github.com/yiisoft/yii2/blob/master/framework/base/Object.php#L102 – MacGyer