mirror of
https://github.com/doctrine/orm.git
synced 2026-03-23 22:42:18 +01:00
DDC-687: Add New Entity Attribute "idGetter" to allow accessing the ID without triggering lazy-load #845
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @doctrinebot on GitHub (Jul 12, 2010).
Jira issue originally created by user @beberlei:
Often people present us with the use-case that they want to access the ID of a proxy without loading it.
This has lead to several ugly solutions like mapping the ID to an object and as a foreign key field. There currently exists a simple solution for this:
However we could add a new property here called "idGetter" that would take the name of a method.
During Proxy Generation then this method is created with magic functionality that:
@doctrinebot commented on GitHub (Jan 25, 2011):
Comment created by stefanklug:
What about an @IdGetter annotation. A function instrumented like this would not trigger the lazy load within the proxy.
Something like
would then result in the proxy implementation
After reading the original post I realized that it proposed nearly the same thing. Nevertheless I'll leave it here for clarity. I still think that an annotation on a function would be better, than an annotation which gets the function name as a parameter.
Regards Stefan
@doctrinebot commented on GitHub (Jan 25, 2011):
Comment created by @beberlei:
$this->_identifier is an array.
@doctrinebot commented on GitHub (Sep 11, 2013):
Comment created by @beberlei:
This was implemented in 2.2 by detecting when this can be done on a getId() call automatically.
@doctrinebot commented on GitHub (Sep 11, 2013):
Issue was closed with resolution "Fixed"