这是我的查询
$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();
但这给了我错误
[语法错误]第0行,第1栏:错误:预期=,<,< =,<>,>,> =,!=,得到字符串结尾。
我做错了什么? 有工作吗? 我正在搜索的字段有逗号分隔值,如果FIND_IN_SET不起作用,还有其他方法我可以做同样的查询吗?
答案 0 :(得分:1)
FIND_IN_SET
为您提供搜索元素的索引。你必须将它与某些东西进行比较:
FIND_IN_SET(:comp, up.company) != 0
您应该使用IN
代替它,它不需要任何扩展
AND :comp IN up.company
答案 1 :(得分:0)
我建议您直接使用symfony bundle "wrapper"而不是库,因为它可以帮助您以正确的方式注册和使用扩展程序。
如果您正在寻找文档,请阅读here