我的PHP代码是:
$company = $qb->select("c")
->from("CRMBundle:TblCompanyDomain","cd")
->join("cd.company","c")
->leftJoin("CRMBundle:TblCompanyAddress",
"ca",
"WITH",
"ca.company = c")
->join("ca.country","cc")
->where($qb->expr()->andX(
$qb->expr()->in("cd.domain",":domain"),
$qb->expr()->eq("c.channel",":channel_id")
))
->setParameters($parameters)
->setMaxResults(1)
->getQuery()
->getOneOrNullResult();
结束接收的 DQL 代码为:
SELECT
c
FROM
CRMBundle:TblCompanyDomain cd
INNER JOIN cd.company c
LEFT JOIN CRMBundle:TblCompanyAddress ca WITH ca.company = c
INNER JOIN ca.country cc
WHERE
cd.domain IN(:domain) AND
c.channel = :channel_id
当我执行此查询时,我收到此错误:
[Syntax Error] line 0, col 44: Error: Expected end of string, got 'I'
enter code here
我看不到任何语法错误。问题出在哪里?
我的symfony版本:2.6.11
我的教义版本:2.2
SELECT
c
FROM
CRMBundle:TblCompanyDomain cd
INNER JOIN cd.company c
LEFT JOIN CRMBundle:TblCompanyAddress ca WITH ca.company = c
INNER JOIN ca.country cc
WHERE
cd.domain IN(:domain) AND
c.channel = :channel_id
我认为你需要一些东西
我已经从注释更改为yml我的学说orm映射和修复的问题。
我经历过很多次同样的问题,并理解真正的问题。当我使用 utf-8 的 Doctrine 注释时,这个问题被触发了。可能是,原因是土耳其语上的utf-8。因为低"ı"字符的首都是"I",而低"i"卡拉赫特的首都是"İ"。