public function addArticleImage($articleNumber, LocalImage $image, $defaultImage = false) { if ($image->getId() === null) { $this->orm->persist($image); $this->orm->flush($image); } if ($this->getArticleImage($articleNumber, $image->getId())) { throw new ResourcesConflictException("Image already attached to article", 409); } $imagesCount = $this->getArticleImagesCount($articleNumber); $articleImage = new ArticleImage($articleNumber, $image, $defaultImage || $imagesCount === 0, $imagesCount + 1); $this->orm->persist($articleImage); $this->orm->flush($articleImage); return $articleImage; }