diff --git a/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php b/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php index b8cff1b0f8..8edb870bcd 100644 --- a/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php +++ b/lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php @@ -159,6 +159,10 @@ public function loadMetadataForClass($className, ClassMetadata $class) $mapping[$key] = (string) $value; } + if (isset($attributes['field-name'])) { + $mapping['fieldName'] = (string) $attributes['field-name']; + } + if (isset($mapping['strategy'])) { $mapping['options'] = []; if (isset($field->{'generator-option'})) { diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php index 6df5f080f8..8043c76f55 100644 --- a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php +++ b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php @@ -80,7 +80,7 @@ public function testDocumentLevelWriteConcern($class) public function testFieldMappings($class) { $this->assertCount(14, $class->fieldMappings); - $this->assertTrue(isset($class->fieldMappings['id'])); + $this->assertTrue(isset($class->fieldMappings['identifier'])); $this->assertTrue(isset($class->fieldMappings['version'])); $this->assertTrue(isset($class->fieldMappings['lock'])); $this->assertTrue(isset($class->fieldMappings['name'])); @@ -146,7 +146,7 @@ public function testStringFieldMappings($class) */ public function testIdentifier($class) { - $this->assertEquals('id', $class->identifier); + $this->assertEquals('identifier', $class->identifier); return $class; } @@ -402,7 +402,7 @@ class AbstractMappingDriverUser /** * @ODM\Id */ - public $id; + public $identifier; /** * @ODM\Version diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml index 1576ad7fe4..78e2d1bea3 100644 --- a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml +++ b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml @@ -20,7 +20,7 @@ </tag-set> <tag-set /> </read-preference> - <field fieldName="id" id="true" /> + <id field-name="identifier" /> <field fieldName="version" version="true" type="int" /> <field fieldName="lock" lock="true" type="int" /> <field fieldName="name" name="username" type="string" /> diff --git a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml index 7a64e0d355..ed80cca3d4 100644 --- a/tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml +++ b/tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml @@ -17,6 +17,7 @@ Doctrine\ODM\MongoDB\Tests\Mapping\AbstractMappingDriverUser: fields: id: type: id + fieldName: identifier id: true version: type: int