В контроллереYii2: Не в состоянии Обновления нескольких изображений
public function actionUpdate($id)
{
$model = $this->findModel($id);
if ($model->load(Yii::$app->request->post()))
{
$imageName = $model->room_type;
$model->imageFiles = UploadedFile::getInstances($model, 'imageFiles');
$all_files_paths = [];
foreach ($model->imageFiles as $file_instance)
{
$path = 'uploads/room_img/' . $file_instance->baseName . '.' . $file_instance->extension;
$file_instance->saveAs($path);
$all_files_pathes []= $path;
$model->images .= $path . ';';
}
$model->save(false);
return $this->redirect(['view', 'id' => $model->id]);
}
else
{
return $this->render('update', [
'model' => $model,
]);
}
}
в правилах раздела
[['imageFiles'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg', 'maxFiles' => 4,'skipOnEmpty' => true, 'on' => 'update-photo-upload'],
попытался с помощью scenario
, но возвращаясь для просмотра без каких-либо изменений в изображениях.
Загрузка нескольких файлов изображений и сохранение пути в базе данных как
uploads/room_img/1059.jpg;uploads/room_img/1060.jpg;uploads/room_img/1064.jpg;
Im вставив несколько файлов в базе данных, разделенных ;
, не в состоянии обновить путь изображения
actioncreate()
public function actionCreate()
{
$model = new RoomTypes();
if ($model->load(Yii::$app->request->post()))
{
$imageName = $model->room_type;
$model->imageFiles = UploadedFile::getInstances($model, 'imageFiles');
$all_files_paths = [];
foreach ($model->imageFiles as $file_instance)
{
$path = 'uploads/room_img/' . $file_instance->baseName . '.' . $file_instance->extension;
$file_instance->saveAs($path);
$all_files_pathes []= $path;
$model->images .= $path . ';';
}
$model->save(false);
return $this->redirect(['view', 'id' => $model->id]);
}
else
{
return $this->render('create',
[
'model' => $model,
]);
}
}
Если вы загружаете одно изображение, работа по обновлению? – scaisEdge
Да, его работа над одним изображением, но не на нескольких – JKLM
Как вы получите имя изображения .. показать связанный вид и объяснить, как вы работаете/используете этот вид – scaisEdge