Sulu\Bundle\ResourceBundle\DataFixtures\ORM\Operators\LoadOperators::load PHP Метод

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

public load ( Doctrine\Common\Persistence\ObjectManager $manager )
$manager Doctrine\Common\Persistence\ObjectManager
    public function load(ObjectManager $manager)
    {
        $metadata = $manager->getClassMetaData(get_class(new Operator()));
        $metadata->setIdGenerator(new \Doctrine\ORM\Id\AssignedGenerator());
        $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE);
        $i = 1;
        $file = dirname(__FILE__) . '/../../operators.xml';
        $doc = new \DOMDocument();
        $doc->load($file);
        $xpath = new \DOMXpath($doc);
        $elements = $xpath->query('/operators/operator');
        if (!is_null($elements)) {
            /** @var $element DOMNode */
            foreach ($elements as $element) {
                $operator = new Operator();
                $operator->setId($i);
                $operator->setType($this->getTypeForString($element->getAttribute('type')));
                $operator->setOperator($element->getAttribute('operator'));
                $operator->setInputType($element->getAttribute('inputType'));
                // translations
                $translations = $xpath->query('translations/translation', $element);
                $this->processTranslations($manager, $operator, $translations);
                // values
                $values = $xpath->query('values/value', $element);
                $this->processValues($manager, $xpath, $operator, $values);
                $manager->persist($operator);
                ++$i;
            }
        }
        $manager->flush();
    }