commit
7ebfc67d5a
@ -274,6 +274,9 @@ class ClassMetadataFactory implements ClassMetadataFactoryInterface
|
|||||||
$class->setDiscriminatorMap($parent->discriminatorMap);
|
$class->setDiscriminatorMap($parent->discriminatorMap);
|
||||||
$class->setLifecycleCallbacks($parent->lifecycleCallbacks);
|
$class->setLifecycleCallbacks($parent->lifecycleCallbacks);
|
||||||
$class->setChangeTrackingPolicy($parent->changeTrackingPolicy);
|
$class->setChangeTrackingPolicy($parent->changeTrackingPolicy);
|
||||||
|
if ($parent->isMappedSuperclass) {
|
||||||
|
$class->setCustomRepositoryClass($parent->customRepositoryClassName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invoke driver
|
// Invoke driver
|
||||||
|
@ -147,12 +147,15 @@ class AnnotationDriver implements Driver
|
|||||||
// Evaluate Entity annotation
|
// Evaluate Entity annotation
|
||||||
if (isset($classAnnotations['Doctrine\ORM\Mapping\Entity'])) {
|
if (isset($classAnnotations['Doctrine\ORM\Mapping\Entity'])) {
|
||||||
$entityAnnot = $classAnnotations['Doctrine\ORM\Mapping\Entity'];
|
$entityAnnot = $classAnnotations['Doctrine\ORM\Mapping\Entity'];
|
||||||
$metadata->setCustomRepositoryClass($entityAnnot->repositoryClass);
|
if ($entityAnnot->repositoryClass !== null) {
|
||||||
|
$metadata->setCustomRepositoryClass($entityAnnot->repositoryClass);
|
||||||
|
}
|
||||||
if ($entityAnnot->readOnly) {
|
if ($entityAnnot->readOnly) {
|
||||||
$metadata->markReadOnly();
|
$metadata->markReadOnly();
|
||||||
}
|
}
|
||||||
} else if (isset($classAnnotations['Doctrine\ORM\Mapping\MappedSuperclass'])) {
|
} else if (isset($classAnnotations['Doctrine\ORM\Mapping\MappedSuperclass'])) {
|
||||||
|
$mappedSuperclassAnnot = $classAnnotations['Doctrine\ORM\Mapping\MappedSuperclass'];
|
||||||
|
$metadata->setCustomRepositoryClass($mappedSuperclassAnnot->repositoryClass);
|
||||||
$metadata->isMappedSuperclass = true;
|
$metadata->isMappedSuperclass = true;
|
||||||
} else {
|
} else {
|
||||||
throw MappingException::classIsNotAValidEntityOrMappedSuperClass($className);
|
throw MappingException::classIsNotAValidEntityOrMappedSuperClass($className);
|
||||||
|
@ -36,7 +36,9 @@ final class Entity extends Annotation {
|
|||||||
* @Annotation
|
* @Annotation
|
||||||
* @Target("CLASS")
|
* @Target("CLASS")
|
||||||
*/
|
*/
|
||||||
final class MappedSuperclass extends Annotation {}
|
final class MappedSuperclass extends Annotation {
|
||||||
|
public $repositoryClass;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Annotation
|
* @Annotation
|
||||||
|
@ -52,13 +52,16 @@ class XmlDriver extends AbstractFileDriver
|
|||||||
$xmlRoot = $this->getElement($className);
|
$xmlRoot = $this->getElement($className);
|
||||||
|
|
||||||
if ($xmlRoot->getName() == 'entity') {
|
if ($xmlRoot->getName() == 'entity') {
|
||||||
$metadata->setCustomRepositoryClass(
|
if (isset($xmlRoot['repository-class'])) {
|
||||||
isset($xmlRoot['repository-class']) ? (string)$xmlRoot['repository-class'] : null
|
$metadata->setCustomRepositoryClass((string)$xmlRoot['repository-class']);
|
||||||
);
|
}
|
||||||
if (isset($xmlRoot['read-only']) && $xmlRoot['read-only'] == "true") {
|
if (isset($xmlRoot['read-only']) && $xmlRoot['read-only'] == "true") {
|
||||||
$metadata->markReadOnly();
|
$metadata->markReadOnly();
|
||||||
}
|
}
|
||||||
} else if ($xmlRoot->getName() == 'mapped-superclass') {
|
} else if ($xmlRoot->getName() == 'mapped-superclass') {
|
||||||
|
$metadata->setCustomRepositoryClass(
|
||||||
|
isset($xmlRoot['repository-class']) ? (string)$xmlRoot['repository-class'] : null
|
||||||
|
);
|
||||||
$metadata->isMappedSuperclass = true;
|
$metadata->isMappedSuperclass = true;
|
||||||
} else {
|
} else {
|
||||||
throw MappingException::classIsNotAValidEntityOrMappedSuperClass($className);
|
throw MappingException::classIsNotAValidEntityOrMappedSuperClass($className);
|
||||||
|
@ -46,13 +46,16 @@ class YamlDriver extends AbstractFileDriver
|
|||||||
$element = $this->getElement($className);
|
$element = $this->getElement($className);
|
||||||
|
|
||||||
if ($element['type'] == 'entity') {
|
if ($element['type'] == 'entity') {
|
||||||
$metadata->setCustomRepositoryClass(
|
if (isset($element['repositoryClass'])) {
|
||||||
isset($element['repositoryClass']) ? $element['repositoryClass'] : null
|
$metadata->setCustomRepositoryClass($element['repositoryClass']);
|
||||||
);
|
}
|
||||||
if (isset($element['readOnly']) && $element['readOnly'] == true) {
|
if (isset($element['readOnly']) && $element['readOnly'] == true) {
|
||||||
$metadata->markReadOnly();
|
$metadata->markReadOnly();
|
||||||
}
|
}
|
||||||
} else if ($element['type'] == 'mappedSuperclass') {
|
} else if ($element['type'] == 'mappedSuperclass') {
|
||||||
|
$metadata->setCustomRepositoryClass(
|
||||||
|
isset($element['repositoryClass']) ? $element['repositoryClass'] : null
|
||||||
|
);
|
||||||
$metadata->isMappedSuperclass = true;
|
$metadata->isMappedSuperclass = true;
|
||||||
} else {
|
} else {
|
||||||
throw MappingException::classIsNotAValidEntityOrMappedSuperClass($className);
|
throw MappingException::classIsNotAValidEntityOrMappedSuperClass($className);
|
||||||
|
40
tests/Doctrine/Tests/Models/DDC869/DDC869ChequePayment.php
Normal file
40
tests/Doctrine/Tests/Models/DDC869/DDC869ChequePayment.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* This software consists of voluntary contributions made by many individuals
|
||||||
|
* and is licensed under the LGPL. For more information, see
|
||||||
|
* <http://www.doctrine-project.org>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\Models\DDC869;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity
|
||||||
|
*/
|
||||||
|
class DDC869ChequePayment extends DDC869Payment
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @column(type="string") */
|
||||||
|
protected $serialNumber;
|
||||||
|
|
||||||
|
public static function loadMetadata(\Doctrine\ORM\Mapping\ClassMetadataInfo $metadata)
|
||||||
|
{
|
||||||
|
$metadata->mapField(array(
|
||||||
|
'fieldName' => 'serialNumber',
|
||||||
|
'type' => 'string',
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* This software consists of voluntary contributions made by many individuals
|
||||||
|
* and is licensed under the LGPL. For more information, see
|
||||||
|
* <http://www.doctrine-project.org>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\Models\DDC869;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity
|
||||||
|
*/
|
||||||
|
class DDC869CreditCardPayment extends DDC869Payment
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @column(type="string") */
|
||||||
|
protected $creditCardNumber;
|
||||||
|
|
||||||
|
public static function loadMetadata(\Doctrine\ORM\Mapping\ClassMetadataInfo $metadata)
|
||||||
|
{
|
||||||
|
$metadata->mapField(array(
|
||||||
|
'fieldName' => 'creditCardNumber',
|
||||||
|
'type' => 'string',
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
57
tests/Doctrine/Tests/Models/DDC869/DDC869Payment.php
Normal file
57
tests/Doctrine/Tests/Models/DDC869/DDC869Payment.php
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* This software consists of voluntary contributions made by many individuals
|
||||||
|
* and is licensed under the LGPL. For more information, see
|
||||||
|
* <http://www.doctrine-project.org>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\Models\DDC869;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @MappedSuperclass(repositoryClass = "Doctrine\Tests\Models\DDC869\DDC869PaymentRepository")
|
||||||
|
*/
|
||||||
|
class DDC869Payment
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Id
|
||||||
|
* @Column(type="integer")
|
||||||
|
* @GeneratedValue
|
||||||
|
*/
|
||||||
|
protected $id;
|
||||||
|
|
||||||
|
/** @column(type="float") */
|
||||||
|
protected $value;
|
||||||
|
|
||||||
|
|
||||||
|
public static function loadMetadata(\Doctrine\ORM\Mapping\ClassMetadataInfo $metadata)
|
||||||
|
{
|
||||||
|
$metadata->mapField(array(
|
||||||
|
'id' => true,
|
||||||
|
'fieldName' => 'id',
|
||||||
|
'type' => 'integer',
|
||||||
|
'columnName' => 'id',
|
||||||
|
));
|
||||||
|
$metadata->mapField(array(
|
||||||
|
'fieldName' => 'value',
|
||||||
|
'type' => 'float',
|
||||||
|
));
|
||||||
|
$metadata->isMappedSuperclass = true;
|
||||||
|
$metadata->setCustomRepositoryClass("Doctrine\Tests\Models\DDC869\DDC869PaymentRepository");
|
||||||
|
$metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadataInfo::GENERATOR_TYPE_AUTO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* This software consists of voluntary contributions made by many individuals
|
||||||
|
* and is licensed under the LGPL. For more information, see
|
||||||
|
* <http://www.doctrine-project.org>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Doctrine\Tests\Models\DDC869;
|
||||||
|
|
||||||
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
|
||||||
|
class DDC869PaymentRepository extends EntityRepository
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Very complex method
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isTrue()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -291,6 +291,42 @@ abstract class AbstractMappingDriverTest extends \Doctrine\Tests\OrmTestCase
|
|||||||
$class->discriminatorColumn
|
$class->discriminatorColumn
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group DDC-869
|
||||||
|
*/
|
||||||
|
public function testMappedSuperclassWithRepository()
|
||||||
|
{
|
||||||
|
$driver = $this->_loadDriver();
|
||||||
|
$em = $this->_getTestEntityManager();
|
||||||
|
$factory = new \Doctrine\ORM\Mapping\ClassMetadataFactory();
|
||||||
|
|
||||||
|
$em->getConfiguration()->setMetadataDriverImpl($driver);
|
||||||
|
$factory->setEntityManager($em);
|
||||||
|
|
||||||
|
|
||||||
|
$class = $factory->getMetadataFor('Doctrine\Tests\Models\DDC869\DDC869CreditCardPayment');
|
||||||
|
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['id']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['value']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['creditCardNumber']));
|
||||||
|
$this->assertEquals($class->customRepositoryClassName, "Doctrine\Tests\Models\DDC869\DDC869PaymentRepository");
|
||||||
|
$this->assertInstanceOf("Doctrine\Tests\Models\DDC869\DDC869PaymentRepository",
|
||||||
|
$em->getRepository("Doctrine\Tests\Models\DDC869\DDC869CreditCardPayment"));
|
||||||
|
$this->assertTrue($em->getRepository("Doctrine\Tests\Models\DDC869\DDC869ChequePayment")->isTrue());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$class = $factory->getMetadataFor('Doctrine\Tests\Models\DDC869\DDC869ChequePayment');
|
||||||
|
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['id']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['value']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['serialNumber']));
|
||||||
|
$this->assertEquals($class->customRepositoryClassName, "Doctrine\Tests\Models\DDC869\DDC869PaymentRepository");
|
||||||
|
$this->assertInstanceOf("Doctrine\Tests\Models\DDC869\DDC869PaymentRepository",
|
||||||
|
$em->getRepository("Doctrine\Tests\Models\DDC869\DDC869ChequePayment"));
|
||||||
|
$this->assertTrue($em->getRepository("Doctrine\Tests\Models\DDC869\DDC869ChequePayment")->isTrue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -52,6 +52,35 @@ class BasicInheritanceMappingTest extends \Doctrine\Tests\OrmTestCase
|
|||||||
|
|
||||||
$this->assertTrue(isset($class->associationMappings['mappedRelated1']));
|
$this->assertTrue(isset($class->associationMappings['mappedRelated1']));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group DDC-869
|
||||||
|
*/
|
||||||
|
public function testGetMetadataForSubclassWithMappedSuperclassWhithRepository()
|
||||||
|
{
|
||||||
|
$class = $this->_factory->getMetadataFor('Doctrine\Tests\Models\DDC869\DDC869CreditCardPayment');
|
||||||
|
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['id']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['value']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['creditCardNumber']));
|
||||||
|
$this->assertEquals($class->customRepositoryClassName, "Doctrine\Tests\Models\DDC869\DDC869PaymentRepository");
|
||||||
|
|
||||||
|
|
||||||
|
$class = $this->_factory->getMetadataFor('Doctrine\Tests\Models\DDC869\DDC869ChequePayment');
|
||||||
|
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['id']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['value']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['serialNumber']));
|
||||||
|
$this->assertEquals($class->customRepositoryClassName, "Doctrine\Tests\Models\DDC869\DDC869PaymentRepository");
|
||||||
|
|
||||||
|
|
||||||
|
// override repositoryClass
|
||||||
|
$class = $this->_factory->getMetadataFor('Doctrine\Tests\ORM\Mapping\SubclassWithRepository');
|
||||||
|
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['id']));
|
||||||
|
$this->assertTrue(isset($class->fieldMappings['value']));
|
||||||
|
$this->assertEquals($class->customRepositoryClassName, "Doctrine\ORM\EntityRepository");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group DDC-388
|
* @group DDC-388
|
||||||
@ -277,4 +306,12 @@ abstract class MediumSuperclassBase extends SuperclassBase
|
|||||||
class MediumSuperclassEntity extends MediumSuperclassBase
|
class MediumSuperclassEntity extends MediumSuperclassBase
|
||||||
{
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Entity(repositoryClass = "Doctrine\ORM\EntityRepository")
|
||||||
|
*/
|
||||||
|
class SubclassWithRepository extends \Doctrine\Tests\Models\DDC869\DDC869Payment
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
$metadata->mapField(array(
|
||||||
|
'fieldName' => 'serialNumber',
|
||||||
|
'type' => 'string',
|
||||||
|
));
|
@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
$metadata->mapField(array(
|
||||||
|
'fieldName' => 'creditCardNumber',
|
||||||
|
'type' => 'string',
|
||||||
|
));
|
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Doctrine\ORM\Mapping\ClassMetadataInfo;
|
||||||
|
|
||||||
|
$metadata->mapField(array(
|
||||||
|
'id' => true,
|
||||||
|
'fieldName' => 'id',
|
||||||
|
'type' => 'integer',
|
||||||
|
'columnName' => 'id',
|
||||||
|
));
|
||||||
|
$metadata->mapField(array(
|
||||||
|
'fieldName' => 'value',
|
||||||
|
'type' => 'float',
|
||||||
|
));
|
||||||
|
$metadata->isMappedSuperclass = true;
|
||||||
|
$metadata->setCustomRepositoryClass("Doctrine\Tests\Models\DDC869\DDC869PaymentRepository");
|
||||||
|
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
|
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
|
||||||
|
http://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
|
||||||
|
|
||||||
|
<entity name="Doctrine\Tests\Models\DDC869\DDC869ChequePayment">
|
||||||
|
<field name="serialNumber" column="serialNumber" type="string"/>
|
||||||
|
</entity>
|
||||||
|
|
||||||
|
</doctrine-mapping>
|
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
|
||||||
|
http://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
|
||||||
|
|
||||||
|
<entity name="Doctrine\Tests\Models\DDC869\DDC869CreditCardPayment">
|
||||||
|
<field name="creditCardNumber" column="creditCardNumber" type="string"/>
|
||||||
|
</entity>
|
||||||
|
|
||||||
|
</doctrine-mapping>
|
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
|
||||||
|
http://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
|
||||||
|
|
||||||
|
<mapped-superclass name="Doctrine\Tests\Models\DDC869\DDC869Payment" repository-class="Doctrine\Tests\Models\DDC869\DDC869PaymentRepository">
|
||||||
|
<id name="id" type="integer" column="id">
|
||||||
|
<generator strategy="AUTO"/>
|
||||||
|
</id>
|
||||||
|
|
||||||
|
<field name="value" column="value" type="float"/>
|
||||||
|
</mapped-superclass>
|
||||||
|
|
||||||
|
</doctrine-mapping>
|
@ -0,0 +1,5 @@
|
|||||||
|
Doctrine\Tests\Models\DDC869\DDC869ChequePayment:
|
||||||
|
type: entity
|
||||||
|
fields:
|
||||||
|
serialNumber:
|
||||||
|
type: string
|
@ -0,0 +1,5 @@
|
|||||||
|
Doctrine\Tests\Models\DDC869\DDC869CreditCardPayment:
|
||||||
|
type: entity
|
||||||
|
fields:
|
||||||
|
creditCardNumber:
|
||||||
|
type: string
|
@ -0,0 +1,12 @@
|
|||||||
|
Doctrine\Tests\Models\DDC869\DDC869Payment:
|
||||||
|
type: mappedSuperclass
|
||||||
|
repositoryClass : Doctrine\Tests\Models\DDC869\DDC869PaymentRepository
|
||||||
|
id:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
unsigned: true
|
||||||
|
generator:
|
||||||
|
strategy: AUTO
|
||||||
|
fields:
|
||||||
|
value:
|
||||||
|
type: float
|
Loading…
Reference in New Issue
Block a user