Skip to content

Loading…

DDC-2148: Many-to-many not working with interface #2837

Closed
doctrinebot opened this Issue · 7 comments

2 participants

@doctrinebot

Jira issue originally created by user userfriendly:

First off, here's a pastie with all the code and mappings involved, and a stacktrace: http://pastie.org/5372087

Not sure if this a bug or not, but I think that according to the docs this should work - in a vendor bundle I have an entity defining a unidirectional many-to-many relation to an interface: the entity is Group and defines a many-to-many relation to a UserInterface, which is resolved correctly in the app configuration (as the many-to-one relations using it in the other entities of this vendor bundle work fine).

I'm going by these docs:

http://symfony.com/doc/master/cookbook/doctrine/resolve*target*entity.html

However, when adding a user to a group, I'm getting a weird error:

An exception occurred while executing 'INSERT INTO acmegroup_user (group_id, userid) VALUES (?, ?)' with params {"1":2,"2":1,"3":2,"4":1}:

SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

For some reason it's adding 4 parameters to the statement instead of 2.

Oddly enough, the query generation works perfectly fine when I replace the interface in the mapping with the actual final entity. But that wasn't the point of the exercise... :( I need to use the interface there.

Also, in other entities in that GroupBundle which are referencing the UserInterface using a different relation type, i.e. many-to-one, the relations work perfectly fine.

The schema validates as well, using doctrine:schema:validate in the console.

@doctrinebot

Comment created by @ocramius:

"many-to-many TO a mapped superclass"? I don't think relations TO mapped superclasses are supported in any way... A mapped superclass should never appear in a targetEntity mapping.

Could you please re-formulate the description of the issue? There is no mapped superclass in your examples :)

@doctrinebot

Comment created by userfriendly:

You are of course right. Edited the issue description/title.

It is a blocker for us, btw., not minor - being able to use a many-to-many relation there is rather central to the code of our app. I'm not seeing a workaround, easy or otherwise.

@doctrinebot

Comment created by @ocramius:

[~userfriendly] yes, but it is not a blocker for the next release :) Will restore prio.

@doctrinebot

Comment created by userfriendly:

Ah right, yeah, that makes sense. :) Thank you!

@doctrinebot

Comment created by userfriendly:

Fixed in 1b5f051 - thanks Benjamin!

@doctrinebot

Comment created by userfriendly:

Fixed in 2.3 branch, backported to 2.2 as well

@doctrinebot

Issue was closed with resolution "Fixed"

@beberlei beberlei was assigned by doctrinebot
@doctrinebot doctrinebot added this to the 2.2 milestone
@doctrinebot doctrinebot closed this
@doctrinebot doctrinebot added the Bug label
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.