Mysql where子句的DQL问题
你好,我有这个条款:Mysql where子句的DQL问题,mysql,symfony,doctrine-orm,dql,Mysql,Symfony,Doctrine Orm,Dql,你好,我有这个条款: SELECT y, CASE WHEN (v IS NULL) THEN 0 ELSE SUM(v.viewCount) END AS HIDDEN sumviewcount FROM YTScraperBundle:YouTubeVideo y LEFT JOIN y.allViews v WITH v.firstFetch BETWEEN :fromDate AND :toDate GROUP BY y ORDER BY sumviewcount DESC 这非常好,
SELECT y,
CASE WHEN (v IS NULL) THEN 0 ELSE SUM(v.viewCount) END AS HIDDEN sumviewcount
FROM YTScraperBundle:YouTubeVideo y
LEFT JOIN y.allViews v WITH v.firstFetch BETWEEN :fromDate AND :toDate
GROUP BY y ORDER BY sumviewcount DESC
这非常好,但当我尝试添加WHERE子句时,例如:
SELECT y,
CASE WHEN (v IS NULL) THEN 0 ELSE SUM(v.viewCount) END AS HIDDEN sumviewcount
FROM YTScraperBundle:YouTubeVideo y
LEFT JOIN y.allViews v WITH v.firstFetch BETWEEN :fromDate AND :toDate
WHERE y.name LIKE :videoName
GROUP BY y ORDER BY sumviewcount DESC
videoName的绑定方式如下:
$query->setParameter('videoName', "%" . $searchData['searchValue'] . "%");
所以这不是问题所在,无论如何,我得到的错误是:
Error: Expected end of string, got 'y'","class":"Doctrine\\ORM\\Query\\QueryException
您是否为搜索值尝试了不同的值?
隐藏的sumviewcount
应该是一个单词或用引号括起来,即隐藏的sumviewcount