- 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

