vous pouvez commander la pile par ce afin que vous voulez:
myObjectQuery::create()
->orderByField1
->orderbyField3('desc')
->orderbyField2
->find()
essayer.
Mise à jour 2:
$con = Propel::getConnection();
$query = 'SELECT COUNT(t1.user) AS users, t1.choice AS lft, t2.choice AS rgt
FROM choice t1 iNNER JOIN choice t2 ON (t1.user = t2.user)
WHERE t1.choice IN (?, ?) AND t2.choice IN (?, ?)
GROUP BY t1.choice, t2.choice';
$stmt = $con->prepare($query);
$stmt->bindValue(1, 'foo');
$stmt->bindValue(2, 'bar');
$stmt->bindValue(3, 'baz');
$stmt->bindValue(4, 'foz');
$res = $stmt->execute();
dans votre cas, j'établirait con $, créez une requête pour obtenir votre liste de valeurs, puis utiliser une boucle pour affecter votre $stmt->bindValue(#,#)
puis exécuter.
Vous pouvez l'ajouter vous-même? https://yogeshsalvi.wordpress.com/2010/01/12/steps-to-implement-mysql-order-by-field-in-symfony-propel/ – HansP
merci pour votre aide, mais c'est une solution de gestion des critères à l'ancienne , je cherche une solution plus générique et moderne. – Lionel