Bonjour,
Je débute avec le framework cakePHP et je ne parviens pas à implémenter une relation entre 2 Models...J'ai essayé plusieurs association avec ou sans attributs, mais toujours sans succès et sans erreurs....je vous montre un exemple simple :
J'ai 2 tables : "events" et "event_sessions" au format InnoDb :
Associée à la table "events" j'ai un model EventModel.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 EVENTS id -> PK name -> Varchar EVENT_SESSIONS id -> pk name -> Varchar event_id -> FK events.d
Associée à la table "event_sessions" j'ai un model EventSessionModel.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php class Event extends AppModel { public $name = 'Event'; public $hasMany = 'EventSession'; } ?>
Comme vous pouvez le remarquer, le but étant d'avoir un Event qui contiendrait une liste d'EventSession. Pour vérifier cela, dans le EventsController je fais un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php class EventSession extends AppModel { public $name = 'EventSession'; public $belongsTo = 'Event'; //testé aussi avec $hasOne } ?>
Il m'affiche bien tous les Event mais sans les EventSession...et la requête me montre bien qu'il ne fait aucune association :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 debug($this->Event->find('all'));
J'ai passé une bonne journée à tester tous les exemples du net mais sans succès....Où est mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT `Event`.`id`, `Event`.`name` FROM `events` AS `Event` WHERE 1 = 1
Partager