Bonjour dans la ligné de mon apprentissage de CakePHP j'aurais besoins de vos lumières.
Objectifs: Charger un modèle de devis.
Contexte: J'ai 4 modèles en relations les uns avec les autres. Le modèle "Devis", le modèle "DevisModel", le modèle "RowDevisModel", et enfin le modèle "Article".
Lors de la création d'un devis je propose aux utilisateurs de charger un modèle de devis. j'ai donc créé une table "DevisModel" ayant 2 champs (id,label) qui permet simplement d'afficher une liste déroulante dans mon formulaire de création de devis.
Lorsqu'un choix utilisateur est fait sur cette liste déroulante j'appelle une fonction (en AJAX via JS ou via AJAX en JS ) qui permet de récupérer l'ensemble des lignes associées dans la table "RowDevisModel". Cette table contient 5 champs (id, id_model, id_article, row, label) row étant le numéro de la ligne et label un champ texte quelconque.
Dans CakePHP j'ai déclaré comme suit mes modèles:
"DevisModel" hasMany "RowDevisModel",
"RowDevisModel" belongsTo "Article"
Pour récupérer chaque ligne du modèle de devis sélectionnée je procède comme suit
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $data = $this->ModelQuote->findById( $id ); foreach( $data['RowModelQuote'] as $key => $value ) { $data['RowModelQuote'][$key] = $this->ModelQuote->RowModelQuote->findById( $value['id'] ); }
Je dois par la suite modifié mon tableau $data mais sommes toutes, l'opération et les résultats sont concluants.
Cependant je ne peux pas m'empêcher de penser qu'il y ait une méthode plus simple pour faire ce genre de rapprochement.
D'avance merci de votre aide.
Partager