[DDC-2021] Array Data in Member OF Created: 09/Sep/12  Updated: 11/Jul/14  Resolved: 11/Jul/14

Status: Resolved
Project: Doctrine 2 - ORM
Component/s: DQL
Affects Version/s: 2.2.3
Fix Version/s: 2.5
Security Level: All

Type: New Feature Priority: Major
Reporter: vahid sohrabloo Assignee: Marco Pivetta
Resolution: Fixed Votes: 1
Labels: array, dql

Issue Links:
Reference
is referenced by DDC-3210 [GH-1080] possible fix for DDC-2021 Resolved

 Description   

Hi.
First sorry for my bad english.
In
SELECT u.id FROM CmsUser u WHERE :groupId MEMBER OF u.groups
DQL we can't use Array of groupId like



 Comments   
Comment by Daniel Sippel [ 09/Jul/14 ]

+1

Simple solution could be this: use SQL IN(value) always instead of the equality sign..

Current situation:
500 Internal Server Error - DBALException
1 linked Exception: PDOException ยป

An exception occurred while executing 'SELECT w0_.id AS id0, w0_.userId AS userId1, w0_.profileName AS profileName2, w0_.url AS url3, w0_.companyName AS companyName4, w0_.firstName AS firstName5, w0_.lastName AS lastName6, w0_.street AS street7, w0_.houseNo AS houseNo8, w0_.postcode AS postcode9, w0_.city AS city10, w0_.phoneNo AS phoneNo11, w0_.faxNo AS faxNo12, w0_.email AS email13, w0_.websiteUrl AS websiteUrl14, w0_.description AS description15, w0_.created AS created16, w0_.updated AS updated17, w0_.offersFurther AS offersFurther18, w0_.companyLogoImageFileExtension AS companyLogoImageFileExtension19, w0_.location AS location20 FROM profile w0_ WHERE 1 = 1 AND (GLength(LineString(w0_.location, GeomFromText(?)))*100 < 30) AND EXISTS (SELECT 1 FROM profile_attribute_mapping p1_ INNER JOIN profile_attribute w2_ ON p1_.profileattribute_id = w2_.id WHERE p1_.profile_id = w0_.id AND w2_.id = ?, ?)' with params [{}, 1, 2]:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 2)' at line 1
Comment by Daniel Sippel [ 09/Jul/14 ]

pull request https://github.com/doctrine/doctrine2/pull/1080

Solution: use SQL IN(value) always instead of the equality sign

Comment by Doctrine Bot [ 11/Jul/14 ]

A related Github Pull-Request [GH-1080] was closed:
https://github.com/doctrine/doctrine2/pull/1080

Comment by Marco Pivetta [ 11/Jul/14 ]

Handled in DDC-3210, see https://github.com/doctrine/doctrine2/commit/ae0ee724252b8aaf41be9b397d3db3375767095d

Generated at Thu Jul 31 01:29:42 UTC 2014 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.