FIND_IN_SET 在学说 2 中与学说扩展
FIND_IN_SET in doctrine 2 with DoctrineExtensions
这是我的查询
$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();
但这给了我错误
[Syntax Error] line 0, col -1: Error: Expected =, <, <=, <>, >, >=, !=, got end of string.
我做错了什么?
有解决办法吗?
我正在搜索的字段有逗号分隔值,如果 FIND_IN_SET 不起作用,我是否有任何其他方法可以执行相同的查询?
我建议你直接使用symfony bundle "wrapper"而不是库,因为它会帮助你以正确的方式注册和使用扩展。
如果您要查找文档,请阅读 here
FIND_IN_SET
给你搜索到的元素的索引。你必须将它与某些东西进行比较:
FIND_IN_SET(:comp, up.company) != 0
你应该使用IN
,它不需要任何扩展
AND :comp IN up.company
这是我的查询
$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();
但这给了我错误
[Syntax Error] line 0, col -1: Error: Expected =, <, <=, <>, >, >=, !=, got end of string.
我做错了什么? 有解决办法吗? 我正在搜索的字段有逗号分隔值,如果 FIND_IN_SET 不起作用,我是否有任何其他方法可以执行相同的查询?
我建议你直接使用symfony bundle "wrapper"而不是库,因为它会帮助你以正确的方式注册和使用扩展。
如果您要查找文档,请阅读 here
FIND_IN_SET
给你搜索到的元素的索引。你必须将它与某些东西进行比较:
FIND_IN_SET(:comp, up.company) != 0
你应该使用IN
,它不需要任何扩展
AND :comp IN up.company