/**
  * {@inheritDoc}
  */
 public function process(ContainerBuilder $container)
 {
     if (!$container->hasDefinition('doctrine')) {
         $container->removeDefinition('sonata.easy_extends.doctrine.mapper');
         return;
     }
     $mapper = $container->getDefinition('sonata.easy_extends.doctrine.mapper');
     foreach (DoctrineCollector::getInstance()->getAssociations() as $class => $associations) {
         foreach ($associations as $field => $options) {
             $mapper->addMethodCall('addAssociation', array($class, $field, $options));
         }
     }
     foreach (DoctrineCollector::getInstance()->getDiscriminatorColumns() as $class => $columnDefinition) {
         $mapper->addMethodCall('addDiscriminatorColumn', array($class, $columnDefinition));
     }
     foreach (DoctrineCollector::getInstance()->getDiscriminators() as $class => $discriminators) {
         foreach ($discriminators as $key => $discriminatorClass) {
             $mapper->addMethodCall('addDiscriminator', array($class, $key, $discriminatorClass));
         }
     }
     foreach (DoctrineCollector::getInstance()->getInheritanceTypes() as $class => $type) {
         $mapper->addMethodCall('addInheritanceType', array($class, $type));
     }
     foreach (DoctrineCollector::getInstance()->getIndexes() as $class => $indexes) {
         foreach ($indexes as $field => $options) {
             $mapper->addMethodCall('addIndex', array($class, $field, $options));
         }
     }
     foreach (DoctrineCollector::getInstance()->getUniques() as $class => $uniques) {
         foreach ($uniques as $field => $options) {
             $mapper->addMethodCall('addUnique', array($class, $field, $options));
         }
     }
 }
 /**
  * @param array $config
  * @return void
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     if (class_exists($config['class']['rubric'])) {
         //Связь рубрика - материалы ( getContents() )
         $collector->addAssociation($config['class']['rubric'], 'mapOneToMany', array('fieldName' => 'contents', 'targetEntity' => $config['class']['content'], 'cascade' => array('remove', 'persist', 'refresh', 'merge', 'detach'), 'mappedBy' => 'rubric', 'orphanRemoval' => false, 'orderBy' => array('id' => 'ASC')));
         //Связь материал - рубрика
         $collector->addAssociation($config['class']['content'], 'mapManyToOne', array('fieldName' => 'rubric', 'targetEntity' => $config['class']['rubric'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => 'contents', 'joinColumns' => array(array('name' => 'rubric_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     }
     if (class_exists($config['class']['author']) && $config['class']['author']) {
         $collector->addAssociation($config['class']['content'], 'mapManyToOne', array('fieldName' => 'author', 'targetEntity' => $config['class']['author'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'author_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     }
     if ($config['class']['editor'] && class_exists($config['class']['editor'])) {
         $collector->addAssociation($config['class']['content'], 'mapManyToOne', array('fieldName' => 'createdBy', 'targetEntity' => $config['class']['editor'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'createdby_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
         $collector->addAssociation($config['class']['content'], 'mapManyToOne', array('fieldName' => 'updatedBy', 'targetEntity' => $config['class']['editor'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'updatedby_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     }
     if (class_exists($config['class']['contentfile']) && $config['class']['contentfile']) {
         $collector->addAssociation($config['class']['content'], 'mapOneToMany', array('fieldName' => 'files', 'targetEntity' => $config['class']['contentfile'], 'cascade' => array('remove', 'persist'), 'mappedBy' => 'content', 'orphanRemoval' => true, 'orderBy' => array('pos' => 'ASC')));
         $collector->addAssociation($config['class']['contentfile'], 'mapManyToOne', array('fieldName' => 'content', 'targetEntity' => $config['class']['content'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => 'files', 'joinColumns' => array(array('name' => 'content_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL'))));
     }
     if (class_exists($config['class']['contentimage']) && $config['class']['contentimage']) {
         $collector->addAssociation($config['class']['content'], 'mapOneToMany', array('fieldName' => 'images', 'targetEntity' => $config['class']['contentimage'], 'cascade' => array('remove', 'persist'), 'mappedBy' => 'content', 'orphanRemoval' => true, 'orderBy' => array('pos' => 'ASC')));
         $collector->addAssociation($config['class']['contentimage'], 'mapManyToOne', array('fieldName' => 'content', 'targetEntity' => $config['class']['content'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => 'images', 'joinColumns' => array(array('name' => 'content_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL'))));
     }
     if (class_exists($config['class']['contentlink']) && $config['class']['contentlink']) {
         $collector->addAssociation($config['class']['content'], 'mapOneToMany', array('fieldName' => 'links', 'targetEntity' => $config['class']['contentlink'], 'cascade' => array('all'), 'mappedBy' => 'content', 'orphanRemoval' => true, 'orderBy' => array('pos' => 'ASC')));
         $collector->addAssociation($config['class']['contentlink'], 'mapManyToOne', array('fieldName' => 'content', 'targetEntity' => $config['class']['content'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => 'links', 'joinColumns' => array(array('name' => 'content_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL'))));
         $collector->addAssociation($config['class']['contentlink'], 'mapManyToOne', array('fieldName' => 'linkContent', 'targetEntity' => $config['class']['content'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'link_content_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL'))));
     }
 }
Ejemplo n.º 3
0
 /**
  * @param array $config
  *
  * @return void
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['docente'], 'mapOneToMany', array('fieldName' => 'entidadeducativaHasDocentes', 'targetEntity' => $config['class']['entidadeducativa_has_docente'], 'cascade' => array('persist'), 'mappedBy' => 'media', 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['entidadeducativa_has_docente'], 'mapManyToOne', array('fieldName' => 'docente', 'targetEntity' => $config['class']['docente'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => 'entidadeducativaHasDocentes', 'joinColumns' => array(array('name' => 'iddocente', 'referencedColumnName' => 'iddocente')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['entidadeducativa_has_docente'], 'mapManyToOne', array('fieldName' => 'entidadeducativa', 'targetEntity' => $config['class']['entidadeducativa'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => 'entidadeducativaHasDocentes', 'joinColumns' => array(array('name' => 'idDocente', 'referencedColumnName' => 'idDocente')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['entidadeducativa'], 'mapOneToMany', array('fieldName' => 'entidadeducativaHasDocentes', 'targetEntity' => $config['class']['entidadeducativaHasDocentes'], 'cascade' => array('persist'), 'mappedBy' => 'entidadeducativa', 'orphanRemoval' => true, 'orderBy' => array('position' => 'ASC')));
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     foreach ($config['class'] as $type => $class) {
         if (!class_exists($class)) {
             return;
         }
     }
 }
Ejemplo n.º 5
0
 /**
  * @covers \Sonata\EasyExtendsBundle\Mapper\DoctrineCollector::getIndexes
  * @covers \Sonata\EasyExtendsBundle\Mapper\DoctrineCollector::getInheritanceTypes
  * @covers \Sonata\EasyExtendsBundle\Mapper\DoctrineCollector::getDiscriminatorColumns
  * @covers \Sonata\EasyExtendsBundle\Mapper\DoctrineCollector::getAssociations
  * @covers \Sonata\EasyExtendsBundle\Mapper\DoctrineCollector::getDiscriminators
  */
 public function testDefaultValues()
 {
     $collector = DoctrineCollector::getInstance();
     $this->assertEquals(array(), $collector->getIndexes());
     $this->assertEquals(array(), $collector->getInheritanceTypes());
     $this->assertEquals(array(), $collector->getDiscriminatorColumns());
     $this->assertEquals(array(), $collector->getAssociations());
     $this->assertEquals(array(), $collector->getDiscriminators());
 }
 /**
  * @param  array $config
  * @return void
  */
 public function registerDoctrineMapping(array $config)
 {
     if (!class_exists($config['class']['basket'])) {
         return;
     }
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['basket'], 'mapManyToOne', array('fieldName' => 'customer', 'targetEntity' => $config['class']['customer'], 'cascade' => array(), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'customer_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE', 'unique' => true)), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['basket'], 'mapOneToMany', array('fieldName' => 'basketElements', 'targetEntity' => $config['class']['basket_element'], 'cascade' => array('persist'), 'mappedBy' => 'basket', 'orphanRemoval' => true));
     $collector->addAssociation($config['class']['basket_element'], 'mapManyToOne', array('fieldName' => 'basket', 'targetEntity' => $config['class']['basket'], 'cascade' => array(), 'mappedBy' => NULL, 'inversedBy' => 'basketElements', 'joinColumns' => array(array('name' => 'basket_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
 }
 /**
  * Registers doctrine mapping on concrete dashboard entities.
  *
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     if (!class_exists($config['class']['dashboard'])) {
         return;
     }
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['dashboard'], 'mapOneToMany', array('fieldName' => 'blocks', 'targetEntity' => $config['class']['block'], 'cascade' => array('remove', 'persist', 'refresh', 'merge', 'detach'), 'mappedBy' => 'dashboard', 'orphanRemoval' => false, 'orderBy' => array('position' => 'ASC')));
     $collector->addAssociation($config['class']['block'], 'mapOneToMany', array('fieldName' => 'children', 'targetEntity' => $config['class']['block'], 'cascade' => array('remove', 'persist'), 'mappedBy' => 'parent', 'orphanRemoval' => true, 'orderBy' => array('position' => 'ASC')));
     $collector->addAssociation($config['class']['block'], 'mapManyToOne', array('fieldName' => 'parent', 'targetEntity' => $config['class']['block'], 'cascade' => array(), 'mappedBy' => null, 'inversedBy' => 'children', 'joinColumns' => array(array('name' => 'parent_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['block'], 'mapManyToOne', array('fieldName' => 'dashboard', 'targetEntity' => $config['class']['dashboard'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'blocks', 'joinColumns' => array(array('name' => 'dashboard_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     if (!class_exists($config['class']['order'])) {
         return;
     }
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['order'], 'mapOneToMany', array('fieldName' => 'orderElements', 'targetEntity' => $config['class']['order_element'], 'cascade' => array('persist'), 'mappedBy' => 'order', 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['order'], 'mapManyToOne', array('fieldName' => 'customer', 'targetEntity' => $config['class']['customer'], 'cascade' => array(), 'mappedBy' => null, 'inversedBy' => 'orders', 'joinColumns' => array(array('name' => 'customer_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['order_element'], 'mapManyToOne', array('fieldName' => 'order', 'targetEntity' => $config['class']['order'], 'cascade' => array(), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'order_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addIndex($config['class']['order_element'], 'product_type', array('product_type'));
     $collector->addIndex($config['class']['order_element'], 'order_element_status', array('status'));
     $collector->addIndex($config['class']['order'], 'order_status', array('status'));
     $collector->addIndex($config['class']['order'], 'payment_status', array('payment_status'));
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     foreach ($config['class'] as $type => $class) {
         if (!class_exists($class)) {
             return;
         }
     }
     $collector->addAssociation($config['class']['work'], 'mapManyToOne', array('fieldName' => 'image', 'targetEntity' => $config['class']['media'], 'cascade' => array(0 => 'remove', 1 => 'persist', 2 => 'refresh', 3 => 'merge', 4 => 'detach'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'image_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     //work gallery
     $collector->addAssociation($config['class']['work'], 'mapManyToOne', array('fieldName' => 'gallery', 'targetEntity' => $config['class']['gallery'], 'cascade' => array(0 => 'remove', 1 => 'persist', 2 => 'refresh', 3 => 'merge', 4 => 'detach'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'gallery_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['work'], 'mapManyToOne', array('fieldName' => 'author', 'targetEntity' => $config['class']['user'], 'cascade' => array(1 => 'persist'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'author_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['work'], 'mapManyToOne', array('fieldName' => 'collection', 'targetEntity' => $config['class']['collection'], 'cascade' => array(1 => 'persist'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'collection_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['work'], 'mapManyToMany', array('fieldName' => 'tags', 'targetEntity' => $config['class']['tag'], 'cascade' => array(1 => 'persist'), 'joinTable' => array('name' => 'portfolio__work_tag', 'joinColumns' => array(array('name' => 'post_id', 'referencedColumnName' => 'id')), 'inverseJoinColumns' => array(array('name' => 'tag_id', 'referencedColumnName' => 'id')))));
 }
Ejemplo n.º 10
0
 /**
  * @param array $config
  * @return void
  */
 public function registerDoctrineMapping(array $config)
 {
     // print 'Extends!';
     if (!class_exists($config['class']['rubric'])) {
         return;
     }
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['rubric'], 'mapOneToMany', array('fieldName' => 'children', 'targetEntity' => $config['class']['rubric'], 'cascade' => array('remove', 'persist', 'refresh', 'merge', 'detach'), 'mappedBy' => 'parent', 'orphanRemoval' => false, 'orderBy' => array('left' => 'ASC')));
     //ИНДЕКСЫ
     $collector->addIndex($config['class']['rubric'], 'lftrgt', array('lft', 'rgt'));
     $collector->addIndex($config['class']['rubric'], 'lvl', array('lvl'));
     $collector->addIndex($config['class']['rubric'], 'created_at', array('created_at'));
     $collector->addIndex($config['class']['rubric'], 'updated_at', array('updated_at'));
     $collector->addIndex($config['class']['rubric'], 'full_path', array('full_path'));
     /*
             $collector->addAssociation($config['class']['rubric'], 'mapManyToOne', array(
                 'fieldName' => 'parent',
                 'targetEntity' => $config['class']['rubric'],
                 'cascade' => array(
                 ),
                 'mappedBy' => NULL,
                 'inversedBy' => NULL,
                 'joinColumns' => array(
                     array(
                         'name' => 'parent_id',
                         'referencedColumnName' => 'id',
                         'onDelete' => 'SET NULL',
                     ),
                 ),
                 'orphanRemoval' => false,
             ));
     
     
     
       <many-to-one field="parent" target-entity="Application\Iphp\CoreBundle\Entity\Rubric">
                         <join-column name="parent_id" referenced-column-name="id" on-delete="SET NULL"/>
                         <gedmo:tree-parent/>
                     </many-to-one>
     */
     $collector->addAssociation($config['class']['rubric'], 'mapOneToMany', array('fieldName' => 'blocks', 'targetEntity' => $config['class']['block'], 'cascade' => array('remove', 'persist', 'refresh', 'merge', 'detach'), 'mappedBy' => 'rubric', 'orphanRemoval' => false, 'orderBy' => array('position' => 'ASC')));
     $collector->addAssociation($config['class']['block'], 'mapOneToMany', array('fieldName' => 'children', 'targetEntity' => $config['class']['block'], 'cascade' => array('remove', 'persist'), 'mappedBy' => 'parent', 'orphanRemoval' => true, 'orderBy' => array('position' => 'ASC')));
     $collector->addAssociation($config['class']['block'], 'mapManyToOne', array('fieldName' => 'parent', 'targetEntity' => $config['class']['block'], 'cascade' => array(), 'mappedBy' => NULL, 'inversedBy' => 'children', 'joinColumns' => array(array('name' => 'parent_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['block'], 'mapManyToOne', array('fieldName' => 'rubric', 'targetEntity' => $config['class']['rubric'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => 'blocks', 'joinColumns' => array(array('name' => 'rubric_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     if ($config['class']['user'] && class_exists($config['class']['user'])) {
         $collector->addAssociation($config['class']['rubric'], 'mapManyToOne', array('fieldName' => 'createdBy', 'targetEntity' => $config['class']['user'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'createdby_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
         $collector->addAssociation($config['class']['rubric'], 'mapManyToOne', array('fieldName' => 'updatedBy', 'targetEntity' => $config['class']['user'], 'cascade' => array('persist'), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'updatedby_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     }
 }
Ejemplo n.º 11
0
 /**
  * @param  array $config
  * @return void
  */
 public function registerDoctrineMapping(array $config)
 {
     if (!class_exists($config['class']['transaction'])) {
         return;
     }
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['transaction'], 'mapManyToOne', array('fieldName' => 'order', 'targetEntity' => $config['class']['order'], 'cascade' => array(), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'order_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     $collector->addIndex($config['class']['transaction'], 'status_code', array('status_code'));
     $collector->addIndex($config['class']['transaction'], 'state', array('state'));
 }
Ejemplo n.º 12
0
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     foreach ($config['class'] as $type => $class) {
         if (!class_exists($class)) {
             return;
         }
     }
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['user'], 'mapManyToMany', array('fieldName' => 'groups', 'targetEntity' => $config['class']['group'], 'cascade' => array(), 'joinTable' => array('name' => $config['table']['user_group'], 'joinColumns' => array(array('name' => 'user_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'inverseJoinColumns' => array(array('name' => 'group_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')))));
 }
 /**
  * @param array $config
  */
 public function registerDoctrineORMMapping(array $config, ContainerBuilder $container)
 {
     foreach ($config['class'] as $type => $class) {
         if (!class_exists($class)) {
             return;
         }
     }
     if ($config['db_driver'] != 'orm') {
         return;
     }
     $baseNameSpace = 'Networking\\InitCmsBundle\\Entity';
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['page'], 'mapManyToMany', array('fieldName' => 'translations', 'targetEntity' => $config['class']['page'], 'mappedBy' => 'originals'));
     $collector->addAssociation($config['class']['page'], 'mapManyToMany', array('fieldName' => 'originals', 'targetEntity' => $config['class']['page'], 'inversedBy' => "translations", 'cascade' => array('persist'), 'joinTable' => array('name' => $container->getParameter('cms.table.page_translation'), 'joinColumns' => array(array('name' => 'translation_id', 'referencedColumnName' => 'id')), 'inverseJoinColumns' => array(array('name' => 'original_id', 'referencedColumnName' => 'id')))));
     //LayoutBlock
     $collector->addAssociation($baseNameSpace . '\\LayoutBlock', 'mapManyToOne', array('fieldName' => 'page', 'targetEntity' => $config['class']['page'], 'inversedBy' => "layoutBlock", 'cascade' => array('persist', 'detach'), 'joinColumns' => array(array('name' => 'page_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE'))));
     //MenuItem
     $collector->addAssociation($baseNameSpace . '\\MenuItem', 'mapManyToOne', array('fieldName' => 'page', 'targetEntity' => $config['class']['page'], 'inversedBy' => "menuItem", 'cascade' => array('persist'), 'joinColumns' => array(array('name' => 'page_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL', 'nullable' => 'true'))));
     //PageSnapshot
     $collector->addAssociation($baseNameSpace . '\\PageSnapshot', 'mapManyToOne', array('fieldName' => 'page', 'targetEntity' => $config['class']['page'], 'inversedBy' => "snapshots", 'cascade' => array('persist')));
 }
Ejemplo n.º 14
0
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['media'], 'mapOneToMany', array('fieldName' => 'galleryHasMedias', 'targetEntity' => $config['class']['gallery_has_media'], 'cascade' => array('persist'), 'mappedBy' => 'media', 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['gallery_has_media'], 'mapManyToOne', array('fieldName' => 'gallery', 'targetEntity' => $config['class']['gallery'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'galleryHasMedias', 'joinColumns' => array(array('name' => 'gallery_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['gallery_has_media'], 'mapManyToOne', array('fieldName' => 'media', 'targetEntity' => $config['class']['media'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'galleryHasMedias', 'joinColumns' => array(array('name' => 'media_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['gallery'], 'mapOneToMany', array('fieldName' => 'galleryHasMedias', 'targetEntity' => $config['class']['gallery_has_media'], 'cascade' => array('persist'), 'mappedBy' => 'gallery', 'orphanRemoval' => true, 'orderBy' => array('position' => 'ASC')));
 }
Ejemplo n.º 15
0
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     if (class_exists($config['user_age_demographics']['class']['entity'])) {
         $collector->addAssociation($config['user_age_demographics']['class']['entity'], 'mapOneToOne', array('fieldName' => 'user', 'targetEntity' => $config['user']['class']['entity'], 'cascade' => array(1 => 'detach'), 'joinColumns' => array(array('name' => 'user_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'mappedBy' => null, 'inversedBy' => null, 'orphanRemoval' => true));
     }
     if (class_exists($config['user_age_demographics']['class']['entity'])) {
         $collector->addAssociation($config['user_age_demographics']['class']['entity'], 'mapManyToOne', array('fieldName' => 'collection', 'targetEntity' => $config['user_age_demographics']['class']['reference_entity'], 'cascade' => array(1 => 'detach'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'collection_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     }
     if (interface_exists('Sonata\\ClassificationBundle\\Model\\CollectionInterface')) {
         if (class_exists($config['user_authentication_logs']['class']['entity']) && $config['user_authentication_logs']['enabled']) {
             $collector->addAssociation($config['user_authentication_logs']['class']['entity'], 'mapManyToOne', array('fieldName' => 'user', 'targetEntity' => $config['user']['class']['entity'], 'cascade' => array(1 => 'detach'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'user_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
         }
     }
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     if (!class_exists($config['class']['product'])) {
         return;
     }
     $collector = DoctrineCollector::getInstance();
     /*
      * DELIVERY
      */
     $collector->addAssociation($config['class']['delivery'], 'mapManyToOne', array('fieldName' => 'product', 'targetEntity' => $config['class']['product'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'deliveries', 'joinColumns' => array(array('name' => 'product_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     /*
      * PACKAGE
      */
     $collector->addAssociation($config['class']['package'], 'mapManyToOne', array('fieldName' => 'product', 'targetEntity' => $config['class']['product'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'packages', 'joinColumns' => array(array('name' => 'product_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     /*
      * PRODUCT CATEGORY
      */
     $collector->addAssociation($config['class']['product_category'], 'mapManyToOne', array('fieldName' => 'product', 'targetEntity' => $config['class']['product'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'productCategories', 'joinColumns' => array(array('name' => 'product_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product_category'], 'mapManyToOne', array('fieldName' => 'category', 'targetEntity' => $config['class']['category'], 'cascade' => array('persist'), 'mappedBy' => null, 'joinColumns' => array(array('name' => 'category_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE')), 'orphanRemoval' => false));
     /*
      * PRODUCT COLLECTION
      */
     $collector->addAssociation($config['class']['product_collection'], 'mapManyToOne', array('fieldName' => 'product', 'targetEntity' => $config['class']['product'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'productCollections', 'joinColumns' => array(array('name' => 'product_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product_collection'], 'mapManyToOne', array('fieldName' => 'collection', 'targetEntity' => $config['class']['collection'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'productCollection', 'joinColumns' => array(array('name' => 'collection_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE')), 'orphanRemoval' => false));
     /*
      * PRODUCT
      */
     $collector->addAssociation($config['class']['product'], 'mapOneToMany', array('fieldName' => 'packages', 'targetEntity' => $config['class']['package'], 'cascade' => array('persist'), 'mappedBy' => 'product', 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product'], 'mapOneToMany', array('fieldName' => 'deliveries', 'targetEntity' => $config['class']['delivery'], 'cascade' => array('persist'), 'mappedBy' => 'product', 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product'], 'mapOneToMany', array('fieldName' => 'productCategories', 'targetEntity' => $config['class']['product_category'], 'cascade' => array('persist'), 'mappedBy' => 'product', 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product'], 'mapOneToMany', array('fieldName' => 'productCollections', 'targetEntity' => $config['class']['product_collection'], 'cascade' => array('persist'), 'mappedBy' => 'product', 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product'], 'mapManyToOne', array('fieldName' => 'image', 'targetEntity' => $config['class']['media'], 'cascade' => array(), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'image_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product'], 'mapManyToOne', array('fieldName' => 'gallery', 'targetEntity' => $config['class']['gallery'], 'cascade' => array(), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'gallery_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product'], 'mapManyToOne', array('fieldName' => 'parent', 'targetEntity' => $config['class']['product'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'variations', 'joinColumns' => array(array('name' => 'parent_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['product'], 'mapOneToMany', array('fieldName' => 'variations', 'targetEntity' => $config['class']['product'], 'cascade' => array('persist'), 'mappedBy' => 'parent', 'orphanRemoval' => false));
     $collector->addIndex($config['class']['product'], 'enabled', array('enabled'));
 }
Ejemplo n.º 17
0
 /**
  * Registers doctrine mapping on concrete page entities.
  *
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['gist'], 'mapManyToMany', ['fieldName' => 'tags', 'targetEntity' => $config['class']['tag'], 'cascade' => [], 'joinTable' => ['name' => 'github__gist__tag', 'joinColumns' => [['name' => 'gist_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE']], 'inverseJoinColumns' => [['name' => 'tag_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE']]]]);
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['media'], 'mapOneToMany', array('fieldName' => 'galleryHasMedias', 'targetEntity' => $config['class']['gallery_has_media'], 'cascade' => array('persist'), 'mappedBy' => 'media', 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['gallery_has_media'], 'mapManyToOne', array('fieldName' => 'gallery', 'targetEntity' => $config['class']['gallery'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'galleryHasMedias', 'joinColumns' => array(array('name' => 'gallery_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['gallery_has_media'], 'mapManyToOne', array('fieldName' => 'media', 'targetEntity' => $config['class']['media'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'galleryHasMedias', 'joinColumns' => array(array('name' => 'media_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['gallery'], 'mapOneToMany', array('fieldName' => 'galleryHasMedias', 'targetEntity' => $config['class']['gallery_has_media'], 'cascade' => array('persist'), 'mappedBy' => 'gallery', 'orphanRemoval' => true, 'orderBy' => array('position' => 'ASC')));
     if (interface_exists('Sonata\\ClassificationBundle\\Model\\CategoryInterface')) {
         $collector->addAssociation($config['class']['media'], 'mapManyToOne', array('fieldName' => 'category', 'targetEntity' => $config['class']['category'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'category_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     }
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     foreach ($config['class'] as $type => $class) {
         if (!class_exists($class)) {
             return;
         }
     }
     $collector->addAssociation($config['class']['post'], 'mapOneToMany', array('fieldName' => 'comments', 'targetEntity' => $config['class']['comment'], 'cascade' => array(0 => 'remove', 1 => 'persist'), 'mappedBy' => 'post', 'orphanRemoval' => true, 'orderBy' => array('createdAt' => 'DESC')));
     $collector->addAssociation($config['class']['post'], 'mapManyToOne', array('fieldName' => 'image', 'targetEntity' => $config['class']['media'], 'cascade' => array(0 => 'remove', 1 => 'persist', 2 => 'refresh', 3 => 'merge', 4 => 'detach'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'image_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['post'], 'mapManyToOne', array('fieldName' => 'author', 'targetEntity' => $config['class']['user'], 'cascade' => array(1 => 'persist'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'author_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['post'], 'mapManyToOne', array('fieldName' => 'collection', 'targetEntity' => $config['class']['collection'], 'cascade' => array(1 => 'persist'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'collection_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['post'], 'mapManyToMany', array('fieldName' => 'tags', 'targetEntity' => $config['class']['tag'], 'cascade' => array(1 => 'persist'), 'joinTable' => array('name' => 'news__post_tag', 'joinColumns' => array(array('name' => 'post_id', 'referencedColumnName' => 'id')), 'inverseJoinColumns' => array(array('name' => 'tag_id', 'referencedColumnName' => 'id')))));
     $collector->addAssociation($config['class']['comment'], 'mapManyToOne', array('fieldName' => 'post', 'targetEntity' => $config['class']['post'], 'cascade' => array(), 'mappedBy' => null, 'inversedBy' => 'comments', 'joinColumns' => array(array('name' => 'post_id', 'referencedColumnName' => 'id', 'nullable' => false)), 'orphanRemoval' => false));
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     $collector->addIndex($config['class']['message'], 'idx_state', array('state'));
     $collector->addIndex($config['class']['message'], 'idx_created_at', array('created_at'));
 }
Ejemplo n.º 21
0
 /**
  * Registers doctrine mapping on concrete page entities.
  *
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['transaction'], 'mapManyToOne', array('fieldName' => 'category', 'targetEntity' => $config['class']['category'], 'cascade' => array('persist'), 'joinColumns' => array(array('name' => 'category_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     foreach ($config['class'] as $type => $class) {
         if (!class_exists($class)) {
             return;
         }
     }
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['timeline'], 'mapManyToOne', array('fieldName' => 'action', 'targetEntity' => $config['class']['action'], 'cascade' => array(), 'mappedBy' => NULL, 'inversedBy' => 'timelines', 'joinColumns' => array(array('name' => 'action_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['timeline'], 'mapManyToOne', array('fieldName' => 'subject', 'targetEntity' => $config['class']['component'], 'cascade' => array(), 'mappedBy' => NULL, 'inversedBy' => NULL, 'joinColumns' => array(array('name' => 'subject_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['action'], 'mapOneToMany', array('fieldName' => 'actionComponents', 'targetEntity' => $config['class']['actionComponent'], 'cascade' => array(1 => 'persist'), 'mappedBy' => 'action'));
     $collector->addAssociation($config['class']['action'], 'mapOneToMany', array('fieldName' => 'timelines', 'targetEntity' => $config['class']['timeline'], 'cascade' => array(), 'mappedBy' => 'action'));
     $collector->addAssociation($config['class']['actionComponent'], 'mapManyToOne', array('fieldName' => 'action', 'targetEntity' => $config['class']['action'], 'cascade' => array(), 'mappedBy' => NULL, 'inversedBy' => 'actionComponents', 'joinColumns' => array(array('name' => 'action_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['actionComponent'], 'mapManyToOne', array('fieldName' => 'component', 'targetEntity' => $config['class']['component'], 'cascade' => array(), 'mappedBy' => NULL, 'joinColumns' => array(array('name' => 'component_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
 }
Ejemplo n.º 23
0
 /**
  * @param array            $config    A configuration array
  * @param ContainerBuilder $container Symfony container builder
  * @param string           $modelType Configuration model type
  */
 public function registerSonataUserDoctrineMapping(array $config, ContainerBuilder $container, $modelType)
 {
     foreach ($config['class'] as $class) {
         if (!class_exists($class)) {
             return;
         }
     }
     $collector = DoctrineCollector::getInstance();
     $userClass = $container->getParameter(sprintf('sonata.user.admin.user.%s', $modelType));
     $collector->addAssociation($config['class']['comment'], 'mapManyToOne', array('fieldName' => 'author', 'targetEntity' => $userClass, 'cascade' => array()));
 }
Ejemplo n.º 24
0
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     foreach ($config['class'] as $type => $class) {
         if (!class_exists($class)) {
             return;
         }
     }
     $collector = DoctrineCollector::getInstance();
     # Access Token
     $collector->addAssociation($config['class']['access_token'], 'mapManyToOne', array('fieldName' => 'client', 'targetEntity' => $config['class']['client'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'accessToken', 'joinColumns' => array(array('name' => 'client_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['access_token'], 'mapManyToOne', array('fieldName' => 'user', 'targetEntity' => $config['class']['user'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'accessToken', 'joinColumns' => array(array('name' => 'user_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     #Auth Code
     $collector->addAssociation($config['class']['refresh_token'], 'mapManyToOne', array('fieldName' => 'client', 'targetEntity' => $config['class']['client'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'accessToken', 'joinColumns' => array(array('name' => 'client_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['refresh_token'], 'mapManyToOne', array('fieldName' => 'user', 'targetEntity' => $config['class']['user'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'accessToken', 'joinColumns' => array(array('name' => 'user_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     #Auth Code
     $collector->addAssociation($config['class']['auth_code'], 'mapManyToOne', array('fieldName' => 'client', 'targetEntity' => $config['class']['client'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'accessToken', 'joinColumns' => array(array('name' => 'client_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['auth_code'], 'mapManyToOne', array('fieldName' => 'user', 'targetEntity' => $config['class']['user'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => 'accessToken', 'joinColumns' => array(array('name' => 'user_id', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
 }
 /**
  * @param array $config
  */
 public function registerDoctrineMapping(array $config)
 {
     foreach ($config['class'] as $type => $class) {
         if ('media' !== $type && !class_exists($class)) {
             return;
         }
     }
     $collector = DoctrineCollector::getInstance();
     $collector->addAssociation($config['class']['category'], 'mapOneToMany', array('fieldName' => 'children', 'targetEntity' => $config['class']['category'], 'cascade' => array('persist'), 'mappedBy' => 'parent', 'orphanRemoval' => true, 'orderBy' => array('position' => 'ASC')));
     $collector->addAssociation($config['class']['category'], 'mapManyToOne', array('fieldName' => 'parent', 'targetEntity' => $config['class']['category'], 'cascade' => array('persist', 'refresh', 'merge', 'detach'), 'mappedBy' => null, 'inversedBy' => 'children', 'joinColumns' => array(array('name' => 'parent_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['category'], 'mapManyToOne', array('fieldName' => 'context', 'targetEntity' => $config['class']['context'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'context', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addAssociation($config['class']['tag'], 'mapManyToOne', array('fieldName' => 'context', 'targetEntity' => $config['class']['context'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'context', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addUnique($config['class']['tag'], 'tag_context', array('slug', 'context'));
     $collector->addAssociation($config['class']['collection'], 'mapManyToOne', array('fieldName' => 'context', 'targetEntity' => $config['class']['context'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'context', 'referencedColumnName' => 'id')), 'orphanRemoval' => false));
     $collector->addUnique($config['class']['collection'], 'tag_collection', array('slug', 'context'));
     if (interface_exists('Sonata\\MediaBundle\\Model\\MediaInterface')) {
         $collector->addAssociation($config['class']['collection'], 'mapManyToOne', array('fieldName' => 'media', 'targetEntity' => $config['class']['media'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'media_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
         $collector->addAssociation($config['class']['category'], 'mapManyToOne', array('fieldName' => 'media', 'targetEntity' => $config['class']['media'], 'cascade' => array('persist'), 'mappedBy' => null, 'inversedBy' => null, 'joinColumns' => array(array('name' => 'media_id', 'referencedColumnName' => 'id', 'onDelete' => 'SET NULL')), 'orphanRemoval' => false));
     }
 }