Bonjour,

Je cherche à créé une association entre une table et elle même ceci afin de définir des catégories et des sous-catégories et ainsi de suite, une catégorie pouvant avoir de multiple sous catégorie.

J'ai donc pensé à faire une association $hasMany avec un alias CategorieInferieure et une association $hasOne avec un alias CategorieSuperieure.
Hélas dans la console de log de cake il ne m'affiche que le Select des catégories supérieure.

Quelqu'un aurait-il déjà eu ce souci ?

Voici mon sql :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CREATE TABLE IF NOT EXISTS `categories` (
  `id_categorie` int(11) NOT NULL auto_increment,
  `nom` varchar(128) NOT NULL,
  `niveau` smallint(4) NOT NULL,
  `id_categorie_sup` int(11) NOT NULL,
  `id_document` int(11) NOT NULL COMMENT 'clé étrangère pour la vignette',
  PRIMARY KEY  (`id_categorie`)
)
Voici mon php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
class Categorie extends AppModel
{
	var $name = 'Categorie';
 
	var $primaryKey = 'id_categorie';
 
	var $belongTo = array(
        'CategorieSuperieure' => array(
            'className'    => 'Categorie',
            'foreignKey'   => 'id_categorie_sup'
        )
    );
 
     var $hasMany = array(
        'CategorieInferieure' => array(
            'className'    => 'Categorie',
            'foreignKey'   => 'id_categorie_sup'
        )
    );