2015-12-16 1 views
1

Je suis en train de construire la requête suivante dans Propelordre conditionnel par Propel ORM avec un point dans l'état

SELECT * 
FROM user 
ORDER BY username = 'foo.bar' DESC, username 

Ces options toutes me donner des erreurs:

UserQuery::create() 
    ->addAscendingOrderByColumn("username = 'foo.bar'") 

Ceci est dû en raison de ".". Sans elle travaille

errorMessage:

"Criteria:(Error: Cannot fetch TableMap for undefined table: username = 'foo)" 

Répondre

0

Malheureusement, cela est impossible dans Propel 1 (et je ne sais pas s'il est possible Propel 2). J'ai eu un problème similaire:

https://groups.google.com/forum/#!topic/propel-users/sz3wA_bdF8k

Et après enquête, je découvre que vous ne pouvez passer les noms de colonnes et les noms qualifiés (Table.colonne) dans les méthodes ORDER BY. Cependant, les instructions switch fonctionnent dans les clauses ->withColumn, pour tous ceux qui essaient de faire quelque chose de similaire.