Newscoop\Package\PackageService::save PHP Метод

save() публичный Метод

Save package
public save ( array $values, Package $package = null ) : Newscoop\Package\Package
$values array
$package Package
Результат Newscoop\Package\Package
    public function save(array $values, Package $package = null)
    {
        if ($package === null) {
            $package = new Package();
            $this->orm->persist($package);
        }
        if (array_key_exists('headline', $values)) {
            $package->setHeadline($values['headline']);
        }
        if (array_key_exists('rendition', $values)) {
            $package->setRendition($values['rendition']);
        }
        if (array_key_exists('slug', $values)) {
            $package->setSlug($values['slug']);
        }
        try {
            $this->orm->flush($package);
            return $package;
        } catch (\PDOException $e) {
            if (strpos($e->getMessage(), 'slug is not unique') !== false) {
                throw new \InvalidArgumentException("Slug is not unique", self::CODE_UNIQUE_SLUG);
            }
            throw $e;
        }
    }