CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 21-04-2016 15:54:00

pascale86
Pitivier
Date d'inscription: 06-10-2011
Messages: 15

problème models

Bonjour,

Je n'arrive pas à récupérer le libelle de mon code formation
J'ai 2 tables : Memoires et formations

Code: php

  1. <?php
  2. App::uses('AppModel', 'Model');
  3.  
  4. class Memoire extends AppModel {
  5.  
  6.   public $displayField = 'id';
  7.  
  8.   var $validate = array(
  9.     'titre' => array(
  10.       'rule' => 'notEmpty',
  11.       'message' => 'Le champ titre est obligatoire !'
  12.     ),
  13.     'mots' => array(
  14.       'rule' => 'notEmpty',
  15.  
  16.       'message' => 'Le champ mots est obligatoire !'
  17.     ),
  18.     'resume' => array(
  19.       'rule' => 'notEmpty',
  20.       'message' => 'Le champ resume est obligatoire !'
  21.     ),
  22.  
  23.    
  24.     'code_ldap_directeur' => array (  'rule'=> 'controleDirecteur',
  25.              
  26.               'message'=> 'Sélectionner le directeur dans la liste OU renseigner ses noms et prénoms'),
  27.              
  28.              
  29.  
  30.    
  31.   );
  32.  
  33.  
  34.  
  35.   public $belongsTo = array(
  36.  
  37.     'Formation' => array(
  38.       'className' => 'Formation',
  39.       'foreignKey' => 'code_etp',
  40.       'conditions' => '',
  41.       'fields' => '',
  42.       'order' => ''
  43.     ),
  44.    
  45.  
  46.    
  47.   );
  48.  
  49.  
  50. }

Code: php

  1. <?php
  2. App::uses('AppModel', 'Model');
  3. class Formation extends AppModel {
  4.   public $displayField = 'libelle';
  5.  
  6.  
  7.  
  8.  
  9.  public  $hasAndBelongsToMany = array(
  10.         'Memoire' => array(
  11.             'className' => 'Memoire',
  12.            'foreignKey' => 'code_etp',
  13.        
  14.         )
  15.     );
  16.  
  17.  
  18. }

Dans chaque table id est la clé primaire et code_etp est la clé étrangère.
Mon problème je souhaite en faisant un find sur Memoire récupérer le libellé de la formation. Et ma requete en sortie est `Memoire`.`code_etp` = `Formation`.`id` au lieu de `Memoire`.`code_etp` = `Formation`.`code_etp`

Je trouve pas le bug?
Merci pour votre aide
Pascale

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr