- 1
[Opened] Demande d'aide pour menulist et datasource
Posted by mica94 on 05/21/2015 14:22
Bonjour, j'ai un peu de mal a comprendre comment fonctionnent les menulist connectees a un DAO.
Voici mon fichier .form.xml
<menulist ref="categorie"> <label>Catégorie</label> <datasource dao="myapp~chambre" method="findByHotel" labelproperty="cvalue" criteria="hotel_id" valueproperty="ckey"> </menulist>
et dans mon DAO myapp~chambres
<record> <property name="id" fieldname="id" datatype="int" autoincrement="true"/> <property name="hotel_id" fieldname="hotel_id" datatype="int" required="true"/> <property name="categorie" fieldname="categorie" datatype="varchar" required="true"/> <property name="name" fieldname="name" datatype="varchar" required="true" maxlength="255"/> </record> <method name="findByHotel" type="select"> <parameter name="hotel_id" /> <conditions> <eq property="hotel_id" expr="$hotel_id" /> </conditions> <order> <orderitem property="id" way="asc" /> </order> </method>
Je veux donc recuperer mes categories de chambres selon un hotel_id que je recupere avec
$monId = $this->param('hotel_id');
Mais je ne saisis pas comment assigner dynamiquement ce $monId au criteria de mon menulist.
J'ai vu que cote PHP on peut ecrire ce genre de chose:
$monId = $this->params['id']; $voyagesDao = jDao::get('myapp~voyages'); $voyage= $voyagesDao->get($monId); $ctrl= new jFormsControlMenulist('categorie_0'); $ctrl->required=true; $ctrl->label='Catégorie de chambre'; $ctrl->datasource= new jFormsDaoDatasource('myapp~chambres','findByHotel','hotel_id',$voyage->hotel_id,$monId); $form->addControl($ctrl);
mais je ne suis pas sur du tout de la syntaxe de la derniere ligne(je l'ai recuperee), et surtout comment j'envoie en parametre $monId.
Si quelqu'un peut me donner un coup de main, c'est cool
Merci
[Opened] Demande d'aide pour menulist et datasource
Posted by laurentj on 05/28/2015 10:58
Bonjour,
Il y a une erreur sur
<datasource dao="myapp~chambre" method="findByHotel" labelproperty="cvalue" criteria="hotel_id" valueproperty="ckey">
labelproperty et valueproperty doivent être respectivement "id" et "name" si j'en crois le dao.
Et sinon, je ne comprend pas trop ce que tu cherches à faire au final, et à quel moment
- 1