public function uploadImages(){
if($this->images) {
$filesName = [];
foreach ($this->images as $file) {
$filename=Yii::$app->getSecurity()->generateRandomString(15);
if ($file->saveAs('uploads/images/products/source/' . $filename . '.' . $file->extension)){
$filesName[] = $filename;
}
}
return $filesName;
}else {
return false;
}
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
$model->images = UploadedFile::getInstances($model, 'images');
if ($filenames= $model->uploadImages()) {
$model->product_id = $id;
if($filenames && $model->save()) {
foreach($filenames as $filename) {
$modelImage = new Image();
$modelImage->name = $filename;
$modelImage->item_id = $model->id;
... записываем еще свойства объекта картинки
if($modelImage->save()) {
Yii::$app->session->setFlash('success', "Товар {$model->name} обновлён");
}
}
}
}
}
По коду не совсем понятно, какие модели и как сформированы (поэтому в код может быть не совсем корректен). В общем идея такая: собираем в массив названия картинок и передаем его. Затем в модели картинок записываем эти файлы после сохранения модели товара (необходимо для наличия id товара.