JohnDaniels
@JohnDaniels

Как в yii2 сделать такую мультизагрузку?

Здравствуйте.

У меня есть форма обновления записи, в которой генерируются такие инпуты
<input name="Model[imageFiles][25]" type="file">
<input name="Model[imageFiles][36]" type="file">
<input name="Model[imageFiles][89]" type="file">


инпутов может быть сколько угодно, у каждого свой id (id файла в бд)
Вопрос: как мне получить эти id на сервере, чтобы корректно сохранить файлы?

UploadedFile::getInstances($model, 'imageFiles')

возвращает
array(2) {
  [0]=>
  object(yii\web\UploadedFile)#223 (5) {
    ["name"]=>
    string(6) "bg.jpg"
    ["tempName"]=>
    string(39) "\phpC709.tmp"
    ["type"]=>
    string(10) "image/jpeg"
    ["size"]=>
    int(285557)
    ["error"]=>
    int(0)
  }
  [1]=>
  object(yii\web\UploadedFile)#224 (5) {
    ["name"]=>
    string(8) "matr.jpg"
    ["tempName"]=>
    string(39) "\phpC71A.tmp"
    ["type"]=>
    string(10) "image/jpeg"
    ["size"]=>
    int(10130)
    ["error"]=>
    int(0)
  }
}

я ожидал получить id в виде ключей массива.

Или может существует другой способ передать идентификатор файла при его загрузке?
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
ivankomolin
@ivankomolin
1. Убрать из инпута(type="file") id картинок.
2. Добавить инпуты(type="hidden") c id картинок в той же последовательности что и инпут(type="file")
3. На сервере провести сопоставление
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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