allow ManyToMany associations with referenced column name different from 'id' #631
+58
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Subject
I've found out that if I want to audit entity with ID column with name different from 'id' :
class User
{
/**
* @Orm\Id()
* @Orm\Column(name="user_name",type="string")
/
private $userName;
/*
* @Orm\ManyToMany(targetEntity="AppBundle\Entity\Department", inversedBy="members", cascade={"persist"})
* @Orm\JoinTable(
* name="systemusers_department_membership",
* joinColumns={@Orm\JoinColumn(name="systemusers_id", referencedColumnName="user_name")},
* inverseJoinColumns={@Orm\JoinColumn(name="department_id", referencedColumnName="id")}
* )
*/
private $departmentMembership;
}
...those ManyToMany assoc isn't referred by its correct identifier name, but static 'id' string which will throw Exception. So I try to get it from available source, however I'm not sure if this is the right way to obtain it. I am targeting 1.x branch because this is simple fix which should not break anything.
Changelog
### Fixed Accessing ManyToMany associations of audited entity with identity field of name different from 'id'.