developer.jelix.org is not used any more and exists only for
history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
#378 closed enhancement (duplicate)
un <groupby> dans une methode select de dao serait intéressante
Reported by: | chris | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | jelix:dao | Version: | 1.0 beta 3.1 |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Documentation needed: | ||
Hosting Provider: | Php version: |
Description
Je trouve qu'il pourrait être intéressant/utile de pouvoir préciser un GROUP BY dans une méthode select de dao.
Juste pour éviter d'avoir à écrire entièrement une methode type="php" juste pour ça. Ex :
<method type="php" name="findCardsByFourn"> <parameter name="user" /> <parameter name="fourn" /> <body><![CDATA[ $sql = $this->_selectClause.$this->_fromClause.$this->_whereClause; $sql .= ($this->_whereClause == ''?' WHERE ':' AND '); $sql .= " commande.statut = 'card' AND"; $sql .= " commande.fournisseur_FOU_id = '".$fourn."' AND"; $sql .= " commande.user_USR_login = '".$user."'"; $sql .= ' GROUP BY item_name'; $sql .= ' ORDER BY date_card DESC'; $rs = $this->_conn->query($sql); $rs->setFetchMode(8,$this->_DaoRecordClassName); return $rs; ]]></body> </method>
alors que ça devrait pouvoir s'écrire (notez le conditionnel) :
<method name="findCardsByFourn" type="select"> <parameter name="user" /> <parameter name="fourn" /> <conditions> <eq property="user" expr="$user" /> <eq property="fourn" expr="$fourn" /> </conditions> <order> <orderitem property="date_card" way="desc" /> </order> <groupby field="item_name"/> </method>
Ce n'est pas plus court, mais c'est plus lisible, plus dans l'esprit, et cela permet d'utiliser les alias.
Par contre, je ne sais pas du tout ce que cela engendre côté devel, ni même si c'est envisageable.
Change History (2)
comment:1 Changed 13 years ago by laurentj
- Resolution set to duplicate
- Status changed from new to closed
comment:2 Changed 13 years ago by chris
Ah, et bien personne sur IRC n'était au courant. On m'a même dit que ça serait très difficile à faire. Et puis surtout, je n'en ai pas trouvé référence dans la doc.
Merci en tout cas.
Note: See
TracTickets for help on using
tickets.
Déjà implémenté dans le trunk (attribut groupby). voir ticket #1.