@asferot

Как сделать multiple upload files в Yii2?

Как сделать multiple upload files в yii2? Находил варианты решения этой проблемы, но там она решалась через модель, а мне необходимо через контроллер.
Вот мой код
public function actionAdd_damage(){
        $postDamage = new Damage_list();
        if($postDamage->load(Yii::$app->request->post()) && $postDamage->validate()){
            $imageDamage = UploadedFile::getInstance($postDamage, 'photo');
            $postDamage->photo = 'uploads/'.md5($imageDamage->baseName).'.'.$imageDamage->extension;
            if($postDamage->save()){
                $imageDamage->saveAs($postDamage->photo);
                Yii::$app->getSession()->setFlash('message', 'Post published successfull');
                return $this->redirect(['site/table']);
            }
            else{
                Yii::$app->getSession()->setFlash('message', 'Failed to post');
            }
        }
        return $this->render('add_damage', ['postDamage' => $postDamage]);
    }


<?=$form->field($postDamage, 'photo[]')->fileInput('multiple'=>true)?>


private $date;
    private $description;
    private $photo;
    private $compence;
    private $come;

    public function rules()
    {
        return [
            [['description','compence', 'come'], 'required'],
            ['description', 'string', 'length' => [5, 250]],
            [['photo'], 'file', 'extensions' => 'png, jpg, pdf', 'maxFiles' => 10, 'skipOnEmpty'=>false]
        ];
    }
  • Вопрос задан
  • 1408 просмотров
Пригласить эксперта
Ответы на вопрос 2
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
а мне необходимо через контроллер

Контролер потому и называется контролером что он должен контролировать, а не выполнять что-либо...))) Это грубое объяснение, но...
Что именно у Вас не получается, дополните свой вопрос.
И замените строку
$imageDamage = UploadedFile::getInstance($postDamage, 'photo');

на
$imageDamage = UploadedFile::getInstances($postDamage, 'photo');
Ответ написан
@asferot Автор вопроса
slo_nik, так он перестал записывать вообще в бд
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы