I'm creating an entity class which represents a MenuItem. This can have a 
one-to-one relation with any class implementing SluggableInterface.

As the MenuItem should be able to relate to any SluggableInterface class 
(existing and future), I cannot specify a normal doctrine relation as there 
isn't a specific related entity.

I've come up with some possible solutions, but they have drawbacks:

   1. 
   
   Create an ObjectReference entity to hold the class name and id of the 
   related object. This class would then have a getObject() method to 
   construct and return the necessary object. *The drawback here is you 
   can't (cleanly, at least) access doctrine from within the entity.*
   2. 
   
   Create an object_reference type to convert the object to a string 
   containing the class name and id. *The issue again is accessing doctrine 
   in the Type class to retrieve the object.*
   3. 
   
   I've not tried this one yet, but create a class listening to doctrine 
   events, then checking for fields with a custom annotation, and do the 
   Object->String and vice-versa conversion there.
   
Before I start investigating #3, does anyone know of a "proper" or 
alternative way to do this?

-- 
You received this message because you are subscribed to the Google Groups 
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to