コード例 #1
0
 public function testSetPrimaryTableRelated()
 {
     $this->builder->addUniqueConstraint(array('username', 'name'), 'users_idx');
     $this->builder->addIndex(array('username', 'name'), 'users_idx');
     $this->builder->setTable('users');
     $this->assertEquals(array('name' => 'users', 'indexes' => array('users_idx' => array('columns' => array('username', 'name'))), 'uniqueConstraints' => array('users_idx' => array('columns' => array('username', 'name')))), $this->cm->table);
 }
コード例 #2
0
ファイル: Task.php プロジェクト: redmantech/Mautic_CRM
 public static function loadMetadata(ORM\ClassMetadata $metadata)
 {
     $builder = new ORM\Builder\ClassMetadataBuilder($metadata);
     $builder->setTable('opportunities')->setCustomRepositoryClass('MauticPlugin\\CustomCrmBundle\\Entity\\TaskRepository');
     $builder->setTable('tasks');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createField('name', 'string')->columnName('name')->build();
     $builder->createField('dueDate', 'datetime')->columnName('due_date')->build();
     $builder->createField('isCompleted', 'boolean')->columnName('is_completed')->build();
     $builder->createField('dateAdded', 'datetime')->columnName('date_added')->build();
     $builder->createField('dateCompleted', 'datetime')->columnName('date_completed')->nullable()->build();
     $builder->createManyToOne('lead', 'Mautic\\LeadBundle\\Entity\\Lead')->addJoinColumn('lead_id', 'id', true, false, 'CASCADE')->build();
     $builder->createManyToOne('assignUser', 'Mautic\\UserBundle\\Entity\\User')->addJoinColumn('assign_user_id', 'id', true, false, 'CASCADE')->build();
 }
コード例 #3
0
 public static function loadMetadata(ClassMetadata $data)
 {
     $builder = new ClassMetadataBuilder($data);
     $builder->setTable('sample');
     $builder->createField('id', 'integer')->isPrimaryKey()->generatedValue()->build();
     $builder->createField('text', 'string')->length(64)->build();
 }
コード例 #4
0
ファイル: UserEntity.php プロジェクト: omusico/zf2-demo
 public static function loadMetadata(ClassMetadata $metadata)
 {
     $builder = new ClassMetadataBuilder($metadata);
     $builder->setTable('user')->setCustomRepositoryClass(UsersRepository::class);
     $builder->createField('id', Type::INTEGER)->isPrimaryKey()->generatedValue()->build();
     $builder->createField('name', Type::STRING)->length(255)->nullable(false)->build();
     $builder->createField('login', Type::STRING)->length(255)->nullable(false)->build();
     $builder->createField('email', Type::STRING)->length(255)->nullable(false)->build();
     $builder->createField('password', Type::STRING)->length(255)->nullable(false)->build();
     $builder->createField('role', Type::STRING)->length(255)->nullable(false)->build();
 }
コード例 #5
0
 /**
  * Loads the metadata for the specified class into the provided container.
  *
  * @param string $className
  * @param ClassMetadata|\Doctrine\ORM\Mapping\ClassMetadata $metadata
  *
  * @return void
  */
 public function loadMetadataForClass($className, ClassMetadata $metadata)
 {
     $mapping = config(sprintf('doctrine.mappings.%s', $className));
     $builder = new ClassMetadataBuilder($metadata);
     if (!empty($mapping['abstract'])) {
         $builder->setMappedSuperClass();
     }
     if (!empty($mapping['table'])) {
         $builder->setTable($mapping['table']);
     }
     if (!empty($mapping['indexes'])) {
         foreach ($mapping['indexes'] as $name => $columns) {
             $builder->addIndex($columns, $name);
         }
     }
     if (!empty($mapping['repository'])) {
         $builder->setCustomRepositoryClass($mapping['repository']);
     }
     if (!empty($mapping['fields'])) {
         foreach ($mapping['fields'] as $fieldName => $fieldConfig) {
             $this->mapField($builder, $fieldName, $fieldConfig);
         }
     }
 }
コード例 #6
0
ファイル: IndexTest.php プロジェクト: guiwoda/fluent
 protected function setUp()
 {
     $this->builder = new ClassMetadataBuilder(new ClassMetadataInfo(StubEntity::class));
     $this->builder->setTable('stub_entities');
 }