gallery_field; if (empty(Json::decode($this->owner->$gallery_field))) { return []; } return Image::find() ->filterWhere([ 'id' => Json::decode($this->owner->$gallery_field)]) ->all(); } /** * @param array $post * * @return bool */ public function saveImages(array $post): bool { $gallery_field = $this->gallery_field; $to_save = []; foreach ($post[ 'images' ] as $image) { /** * Can make additional validation here */ if (!empty($image)) { $to_save[] = $image; } } $this->owner->$gallery_field = Json::encode($to_save); return $this->owner->save(); } }