Exemplo n.º 1
0
    /**
     * @param Option $option
     * @return void
     */
    public function saveOption($option)
    {
        $this->getDb()->query(<<<SQL
\t\t    UPDATE `option`
\t\t    SET
                type = :type,
\t\t        sort_order = :sortOrder
            WHERE option_id = :optionId
SQL
, [':sortOrder' => $option->getSortOrder(), ':type' => $option->getType()]);
        $this->getCache()->deleteAll('/^options\\./');
        $this->getDb()->query(<<<SQL
          DELETE FROM option_description
          WHERE option_id = :optionId
SQL
, [':optionId' => $option->getId()]);
        foreach ($option->getDescriptions() as $description) {
            $this->getDb()->query(<<<SQL
              INSERT INTO option_description
              SET
                option_id = :optionId,
                language_id = :languageId,
                name = :name
SQL
, [':optionId' => $option->getId(), ':languageId' => $description->getLanguageId(), ':name' => $description->getName()]);
        }
        foreach ($option->getValues() as $optionValue) {
            $this->saveOptionValue($optionValue);
        }
    }