簡體   English   中英

JOIN的原則查詢錯誤:預期的字符串結尾,得到了“ I”

[英]Doctrine Query Error for JOIN: Expected end of string, got 'I'

我的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更改為yml,並將其映射到固定的問題。

我已經經歷過很多次相同的問題,並且了解真正的問題。 當我對Utf-8使用Doctrine注釋時,就會出現此問題。 可能是因為土耳其語為utf-8。 因為較低的“ı”字符的大寫字母是“ I”,較低的“ i”字符的大寫字母是“İ”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM