0

将 Symfony 与 Sql Server 一起使用,从我读过的内容来看,与数据库的连接似乎不稳定。

一旦我使用 orderBy 方法,我就会收到一个错误:

这是一个例子:

  $qStores =
        $this->getManager()
             ->createQueryBuilder()
             ->select('rpdv')
             ->from('MainBundle:PointDeVenteReference', 'rpdv')
             ->andWhere( 'rpdv.partenaireClient = :id_partner ' )
                 ->setParameter( 'id_partner', $this->getUser()->getPartenaire()->getIdPartenaire() )
             ->orderBy( 'rpdv.idPointDeVenteReference' , 'DESC' )
             ->setFirstResult( 0 )
             ->setMaxResults( 30 );

  $stores = new Paginator( $qStores, FALSE );

和错误:

An exception has been thrown during the rendering of a template ("An exception occurred while executing
'SELECT DISTINCT TOP 30 id_point_de_vente_reference0 
 FROM ( SELECT p0_.id_point_de_vente_reference AS id_point_de_vente_reference0, 
               p0_.reference AS reference1, 
               p0_.date_derniere_modification AS date_derniere_modification2, 
               p0_.blocage AS blocage3 
        FROM point_de_vente_reference p0_ 
        WHERE p0_.id_partenaire_client = ? 
        ORDER BY p0_.id_point_de_vente_reference DESC ) dctrn_result 
 ORDER BY id_point_de_vente_reference0 DESC' 
 with params [2829]:SQLSTATE[42000]: 
 [Microsoft][SQL Server Native Client 11.0][SQL Server]
 The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, 
 unless TOP, OFFSET or FOR XML is also specified.") in MainBundle:Default:store/list.html.twig at line 79.

我试图通过在网上找到的更正来更改 SQLServerPlatform 类,但没有成功。

你有什么主意吗?

谢谢 !

编辑 :

此错误似乎与第二个参数为 true 的分页器有关。将其传递给false,我没有错误

4

1 回答 1

0

dctrn_result 是派生表。从错误消息中,您不能使用 order by。我不知道 symfony2,但是去数据库引擎的代码是无效的。

  • Craftydba
于 2014-10-08T09:38:05.310 回答