我已经在这个问题上卡了一段时间了:
我想通过使用 DESC 对列"datevalidite"进行排序,从我的表"seuils"中提取值"点"。
SQL工作正常:
SELECT points FROM seuils ORDER BY datevalidite DESC
但是我已经在我的Symonfony的控制器中实现的代码返回了一个错误:
$dataSeuils = $this->getDoctrine()->getManager();
$seuils = $dataSeuils->createQuery(
'SELECT points
FROM AppBundle:Seuils
ORDER BY datevalidite DESC')->getResult();
这是错误消息:
[语法错误] 第 0 行,列 53:错误:字符串的预期结尾,得到"BY"
500 内部服务器错误 - 查询异常
1 个链接异常:
查询异常 »
最后,我需要提取返回的实体的属性点。
但我真的不明白为什么它在phpMyAdmin(SQL)中正常工作,而在Symfony中却不能正常工作。
这是我创建表的SQL代码的截图:
CREATE TABLE `seuils` (
`points` int(11) NOT NULL,
`datevalidite` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
您可以使用存储库:
$dataSeuils = $this->getDoctrine()->getRepository('AppBundle:Seuils');
$seuils = $dataSeuils->createQueryBuilder('points')->orderBy('points.datevalidite', 'DESC')->getQuery()->getResult();
尝试在 DQL 中添加表别名,如下所示:
$seuils = $dataSeuils->createQuery(
'SELECT s.points
FROM AppBundle:Seuils s
ORDER BY s.datevalidite DESC')->getResult();
希望这个帮助