Waq*_*der 5 mysql symfony doctrine-orm zend-framework2
这是我的查询
$sql = 'SELECT users.userId as userId
FROM App\UserProjects up
LEFT JOIN up.user users
WHERE up.project = :project AND FIND_IN_SET(:comp, up.company)';
$query = $this->getEntityManager()->createQuery($sql);
$query->setParameter('project', 3);
$query->setParameter('comp', 4);
$results = $query->getResult();
Run Code Online (Sandbox Code Playgroud)
但这给了我错误
[语法错误] 第 0 行,第 -1 行:错误:预期 =、<、<=、<>、>、>=、!=,已结束字符串。
我究竟做错了什么?有解决办法吗?并且我正在搜索的字段具有逗号分隔值,如果 FIND_IN_SET 不起作用,还有其他方法可以执行相同的查询吗?
FIND_IN_SET
为您提供搜索元素的索引。你必须将它与某些东西进行比较:
FIND_IN_SET(:comp, up.company) != 0
Run Code Online (Sandbox Code Playgroud)
您应该使用IN
它,它不需要任何扩展
AND :comp IN up.company
Run Code Online (Sandbox Code Playgroud)