Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] jDao

Posted by yamsuz on 02/12/2010 16:43

Bonjour à tous,

Je sais qu'on peut générer des requetes dynamique via jDao, mais au niveau performance générale il est préférable d'utiliser les méthodes générées en XML. Le problème c'est que l'utilisateur veut toujours un tri différent. Alors en regardant d'un peu plus pres, je lui laisse la possibilité de faire son tri comme il veut ce qui se répercute automatiquement dans la requete. Mais vu le nombre de champs parfois, ça devient galere.

J'ai regardé du coté de la génération dynamique, et je me pose une question n'est-il pas possible via un événement ou un parametre en plus, de préciser uniquement l'ordre de tri pour la requete.

J'avais à un moment pensé à faire un événement dans la classe généré pour les requete. Mais je pense qu'il serait plus intéressant de passer un parametre en plus de type array avec tous les tris que l'on désire, et dans le cas ou le parametre est bien présent de concevoir uniquement les tris dynamiquement sinon de faire le tri de la méthode XML.

Je sais pas si je me fais bien comprendre, mais je pense que ça pourrait etre utile et surtout avoir de meilleur performance

  [Opened] Re: jDao

Reply #1 Posted by laurentj on 02/12/2010 19:13

un évènement, non ce n'est pas vraiment adapté. Si il y a 5 modules qui répondent à cette évènement, ça va être la pagaille.

Maintenant, qu'est ce que tu appelles faire un tri comme il veut ? pouvoir spécifier librement la liste des champs dans le ORDER BY ?

Par ce que tu peux, dans l'attribut property de la balise orderitem, indiquer non pas un nom de propriété, mais un nom de parametre de la methode, qui contiendrai le nom d'une propriété. Suffit donc que tu prevois suffisamment de balise orderitem

 <method ...>
  <parameter name="order1" />
  <parameter name="wayorder1" />
  <parameter name="order2" />
  <parameter name="wayorder2" />
  ...
  <order>
    <orderitem property="$order1" way="$wayorder1" />
    <orderitem property="$order2" way="$wayorder2" />
  </order>

et si dans un des choix de l'utilisateur, il ne choisi qu'un order, à toi de compléter arbitrairement le deuxième order.

 
Page
  1. jDao