sql >> データベース >  >> NoSQL >> MongoDB

KartikFileInputウィジェットを使用して複数の画像ファイルを保存する

    これを試してください:

    コントローラ:画像名をデータベースに保存する必要があります('$ model-> urls')

    public function actionUpload()
    {
            $model = new Upload();
    
            if ($model->load(Yii::$app->request->post())) {
                $model->file = UploadedFile::getInstances($model, 'file');
                foreach ($model->file as $key => $file) {
    
                    $file->saveAs('/uploads/'. $file->baseName . '.' . $file->extension);//Upload files to server
                    $model->urls .= 'uploads/' . $file->baseName . '.' . $file->extension.'**';//Save file names in database- '**' is for separating images
                }
                $model->save();
                return $this->redirect(['view', 'id' => $model->id]);
            } else {
                return $this->render('upload', [
                    'model' => $model,
                ]);
            }
    }
    

    表示

    <?= $form->field($model, 'file[]')->widget(FileInput::classname(), [
    'options' => ['multiple' => 'true'],
    ]) ?>
    

    モデル

    class Upload extends Model
    {
    public $file;
    public function rules()
    {
        return [
            [['file'], 'file','maxFiles' => 6],
            [['urls'],'string'],
    
        ];
    }
    

    画像を表示するための別のビュー

    <?php
    $images=explode('**',trim($model->urls));
    foreach($images as $image)
    {
         echo Html::img(Url::to('@web/' . $image, true));
    }
    ?>
    


    1. 変数$tid、$ idをraw関数に渡す方法は?

    2. MongoDB 3.0.5エラー:シンボルルックアップエラー:未定義のシンボル:FIPS_mode_set

    3. 位置のパーセンテージに応じてグループ化して合計MongoDbAggregation

    4. マルチタイプのユーザー向けのマングースモデル