- fixed columnPrefix generator for the embedded annotation
This commit is contained in:
parent
351b6972a4
commit
799190d5e4
@ -1732,7 +1732,11 @@ public function __construct(<params>)
|
||||
$embedded = ['class="' . $embeddedClass['class'] . '"'];
|
||||
|
||||
if (isset($embeddedClass['columnPrefix'])) {
|
||||
$embedded[] = 'columnPrefix=' . var_export($embeddedClass['columnPrefix'], true);
|
||||
if (is_string($embeddedClass['columnPrefix'])) {
|
||||
$embedded[] = 'columnPrefix="' . $embeddedClass['columnPrefix'] . '"';
|
||||
} else {
|
||||
$embedded[] = 'columnPrefix=' . var_export($embeddedClass['columnPrefix'], true);
|
||||
}
|
||||
}
|
||||
|
||||
$lines[] = $this->spaces . ' * @' .
|
||||
|
@ -227,21 +227,34 @@ class EntityGeneratorTest extends OrmTestCase
|
||||
/**
|
||||
* @group GH-6314
|
||||
*/
|
||||
public function testEmbeddedEntityWithColumnPrefix()
|
||||
public function testEmbeddedEntityWithNamedColumnPrefix()
|
||||
{
|
||||
$columnPrefix = 'GH6314Prefix_';
|
||||
$testMetadata = $this->generateTestEmbeddableFixture();
|
||||
$isbnMetadata = $this->generateIsbnEmbeddableFixture(['testEmbedded' => $testMetadata], 'prefix');
|
||||
$isbnMetadata = $this->generateIsbnEmbeddableFixture(['testEmbedded' => $testMetadata], $columnPrefix);
|
||||
$isbnEntity = $this->newInstance($isbnMetadata);
|
||||
$refClass = new \ReflectionClass($isbnEntity);
|
||||
|
||||
self::assertTrue($refClass->hasProperty('testEmbedded'));
|
||||
|
||||
$docComment = $refClass->getProperty('testEmbedded')->getDocComment();
|
||||
$needle = sprintf('@Embedded(class="%s", columnPrefix="%s")', $testMetadata->name, $columnPrefix);
|
||||
self::assertContains($needle, $docComment);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group GH-6314
|
||||
*/
|
||||
public function testEmbeddedEntityWithoutColumnPrefix()
|
||||
{
|
||||
$testMetadata = $this->generateTestEmbeddableFixture();
|
||||
$isbnMetadata = $this->generateIsbnEmbeddableFixture(['testEmbedded' => $testMetadata], false);
|
||||
$isbnEntity = $this->newInstance($isbnMetadata);
|
||||
$refClass = new \ReflectionClass($isbnEntity);
|
||||
self::assertTrue($refClass->hasProperty('testEmbedded'));
|
||||
|
||||
$docComment = $refClass->getProperty('testEmbedded')->getDocComment();
|
||||
|
||||
$needle = sprintf('@Embedded(class="%s", columnPrefix=\'%s\')', $testMetadata->name,'prefix');
|
||||
$needle = sprintf('@Embedded(class="%s", columnPrefix=false)', $testMetadata->name);
|
||||
self::assertContains($needle, $docComment);
|
||||
|
||||
}
|
||||
|
||||
public function testGeneratedEntityClass()
|
||||
|
Loading…
x
Reference in New Issue
Block a user