Skip to content

Commit 182a04b

Browse files
authored
Merge pull request #2097 from alcaeus/gh-2096
Fix wrong handling of custom identifier names
2 parents a93d030 + d424958 commit 182a04b

4 files changed

Lines changed: 9 additions & 4 deletions

File tree

lib/Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,10 @@ public function loadMetadataForClass($className, ClassMetadata $class)
159159
$mapping[$key] = (string) $value;
160160
}
161161

162+
if (isset($attributes['field-name'])) {
163+
$mapping['fieldName'] = (string) $attributes['field-name'];
164+
}
165+
162166
if (isset($mapping['strategy'])) {
163167
$mapping['options'] = [];
164168
if (isset($field->{'generator-option'})) {

tests/Doctrine/ODM/MongoDB/Tests/Mapping/AbstractMappingDriverTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public function testDocumentLevelWriteConcern($class)
8080
public function testFieldMappings($class)
8181
{
8282
$this->assertCount(14, $class->fieldMappings);
83-
$this->assertTrue(isset($class->fieldMappings['id']));
83+
$this->assertTrue(isset($class->fieldMappings['identifier']));
8484
$this->assertTrue(isset($class->fieldMappings['version']));
8585
$this->assertTrue(isset($class->fieldMappings['lock']));
8686
$this->assertTrue(isset($class->fieldMappings['name']));
@@ -146,7 +146,7 @@ public function testStringFieldMappings($class)
146146
*/
147147
public function testIdentifier($class)
148148
{
149-
$this->assertEquals('id', $class->identifier);
149+
$this->assertEquals('identifier', $class->identifier);
150150

151151
return $class;
152152
}
@@ -402,7 +402,7 @@ class AbstractMappingDriverUser
402402
/**
403403
* @ODM\Id
404404
*/
405-
public $id;
405+
public $identifier;
406406

407407
/**
408408
* @ODM\Version

tests/Doctrine/ODM/MongoDB/Tests/Mapping/xml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</tag-set>
2121
<tag-set />
2222
</read-preference>
23-
<field fieldName="id" id="true" />
23+
<id field-name="identifier" />
2424
<field fieldName="version" version="true" type="int" />
2525
<field fieldName="lock" lock="true" type="int" />
2626
<field fieldName="name" name="username" type="string" />

tests/Doctrine/ODM/MongoDB/Tests/Mapping/yaml/Doctrine.ODM.MongoDB.Tests.Mapping.AbstractMappingDriverUser.dcm.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Doctrine\ODM\MongoDB\Tests\Mapping\AbstractMappingDriverUser:
1717
fields:
1818
id:
1919
type: id
20+
fieldName: identifier
2021
id: true
2122
version:
2223
type: int

0 commit comments

Comments
 (0)