我想在服務器上傳文件並查看上傳的文件我必須將模型ID傳遞給視圖操作。這是一切都好,直到我加入在urlindent傳遞丟失的id
'options' => ['enctype'=>'multipart/form-data']
我的ActiveForm。添加後,通過URL傳遞給動作視圖的id不再顯示,並且我缺少參數消息。 我使用警予2.0.2
創建行動:
public function actionCreate()
{
$model = new SubContent();
if ($model->load(Yii::$app->request->post())) {
//$fileName = $model->id;
$model->save();
$fileName = $model->id;
$files =UploadedFile::getInstance($model,'files');
$files->saveAs('uploads/'.$files->getBaseName().'.'.$files->getExtension());
$model->files=$files;
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
形式:
<div class="sub-content-form">
<?php $form = ActiveForm::begin(['options' => ['enctype'=>'multipart/form-data']]); ?>
<?= $form->field($model, 'files')->fileInput(['maxlength' => 255]) ?>
<?= $form->field($model, 'sub_id')
->dropDownList(ArrayHelper::map(Subjects::find()
->where(['year'=>\Yii::$app->user->identity->year])
->all(),'id','sub_name'),
['prompt'=>' select subject']
) ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
,這是我的模型
<?php
namespace frontend\models;
use Yii;
/**
* This is the model class for table "sub_content".
*
* @property integer $id
* @property string $files
* @property integer $sub_id
*
* @property Subjects $sub
*/
class SubContent extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'sub_content';
}
public function rules()
{
return [
[['files', 'sub_id'], 'required'],
[['sub_id'], 'integer'],
[['files'], 'string', 'max' => 255]
];
}
public function attributeLabels()
{
return [
'id' => 'ID',
'files' => 'Files',
'sub_id' => 'Sub ID',
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getSub()
{
return $this->hasOne(Subjects::className(), ['id' =>
'sub_id']);
}
}
編輯.....仍沒有工作
型號你改變這樣的 [「文件」 [],「文件」,「skipOnEmpty」 =>真], –
@Umar阿里仍然沒有工作我的朋友 –
告訴我你的錯誤 –