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 :
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 "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
 
<?php
class Event extends AppModel {
 
    public $name = 'Event';
    public $hasMany = 'EventSession';
}
?>
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
9
 
<?php
class EventSession extends AppModel {
 
    public $name = 'EventSession';
    public $belongsTo = 'Event'; //testé aussi avec $hasOne
 
}
?>
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
 
debug($this->Event->find('all'));
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
 
SELECT `Event`.`id`, `Event`.`name` FROM `events` AS `Event` WHERE 1 = 1
J'ai passé une bonne journée à tester tous les exemples du net mais sans succès....Où est mon erreur ?