1
0
mirror of synced 2025-03-14 00:26:08 +03:00

Merge pull request #5548 from doctrine/cleanup/classmetadata-get-column-names-simplification

Cleanup - `ClassMetadataInfo#getColumnNames()` simplification
This commit is contained in:
Marco Pivetta 2015-12-11 21:20:12 +01:00
commit b341d5c453
2 changed files with 14 additions and 8 deletions

View File

@ -1873,17 +1873,11 @@ class ClassMetadataInfo implements ClassMetadata
*/
public function getColumnNames(array $fieldNames = null)
{
if ($fieldNames === null) {
if (null === $fieldNames) {
return array_keys($this->fieldNames);
}
$columnNames = array();
foreach ($fieldNames as $fieldName) {
$columnNames[] = $this->getColumnName($fieldName);
}
return $columnNames;
return array_values(array_map([$this, 'getColumnName'], $fieldNames));
}
/**

View File

@ -1150,6 +1150,18 @@ class ClassMetadataTest extends \Doctrine\Tests\OrmTestCase
$this->assertEquals(array('test' => null, 'test.embeddedProperty' => null), $classMetadata->getReflectionProperties());
}
public function testGetColumnNamesWithGivenFieldNames()
{
$metadata = new ClassMetadata('Doctrine\Tests\Models\CMS\CmsUser');
$metadata->initializeReflection(new RuntimeReflectionService());
$metadata->mapField(array('fieldName' => 'status', 'type' => 'string', 'columnName' => 'foo'));
$metadata->mapField(array('fieldName' => 'username', 'type' => 'string', 'columnName' => 'bar'));
$metadata->mapField(array('fieldName' => 'name', 'type' => 'string', 'columnName' => 'baz'));
self::assertSame(['foo', 'baz'], $metadata->getColumnNames(['status', 'name']));
}
}
/**