php - 按 id=1 排序的学说

标签 php mysql zend-framework doctrine-orm sql-order-by

我想要获取列表用户并且当前用户每次都必须是第一个。 在 MySql 中我可以做成:

SELECT * FROM `user` ORDER BY id = 2 DESC

在 Doctrine 中我尝试 make alike:

 $query = $this->_em->createQuery("SELECT bul, u, c FROM 'Building\Entity\BuildingUserLink' bul JOIN bul.building b JOIN bul.company c JOIN bul.user u WHERE b = :building_id ORDER BY u.id = :current_id DESC");
 $query->setParameters(array('building_id' => $building_id, 'current_id' => $current_id));
 return $query->getResult();

但我得到错误 - “预期的字符串结束,得到\u0027=\u0027\”

我有什么错?

PS 我用的是 ZF2+DOctrine

最佳答案

SELECT * FROM `user` ORDER BY id = 2 DESC, id DESC

在您的实际查询中:

ORDER BY u.id = :current_id DESC, u.id DESC

关于php - 按 id=1 排序的学说,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21530784/

相关文章:

php - 保持 Zend_Form 不渲染 <form> 标签

php - 用PHP输出UTF-8特殊字符

mysql查询

php - 如何在php中对对象进行排序?

php - SQL PHP 语句中的解析错误

php - laravel 5 - 我如何添加 ->index() 到现有的外键

本地运行的php zend框架

php - less 和 html 保存到数据库中

php - PhpStorm中单个文件中红色波浪线的含义

php - 如何使用php动态添加Google Analytics跟踪代码?