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

Closed
doctrinebot opened this Issue Nov 16, 2012 · 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 Dec 6, 2015
@doctrinebot doctrinebot added this to the 2.2 milestone Dec 6, 2015
@doctrinebot doctrinebot closed this Dec 6, 2015
@doctrinebot doctrinebot added the Bug label Dec 7, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment