Bonjour tout le monde,

Je souhaite faire une association entre mes models Utilisateurs et Infrastructures afin de pouvoir afficher toutes les infrastructure d'un utilisateur. Malheureusement je n'arrive pas à trouver une solution. Voici mes codes :

Model Utilisateurs
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
//Définition du modèle
Ext.define('MyDesktop.model.UtilisateurModele', {
	extend: 'Ext.data.Model',
	//Définition des champs de la base de données
    fields: [
		'pk_uti', 
		'fk_pk_loc', 
		'fk_pk_typ', 
		'fk_pk_dro', 
		'nom_loc', 
		'nom_dro',
		'lib_type', 
		'tit_uti',
		'pre_uti', 
		'nom_uti',
		'datnai_uti', 
		'adr_uti',
		'telfix_uti', 
		'telpor_uti', 
		'ema_uti', 
		'web_uti', 
		'fax_uti', 
		'soc_uti', 
		'rem_uti', 
		'username_uti', 
		'pass_uti'
	],
	proxy: {
		type: 'ajax',
		url: 'data/getutilisateurliste.php',
		reader: {
			type: 'json',
			root: 'data',
			totalProperty: 'total'
		}
	},
	associations: [
        {
			type: 'hasMany', 
			model: 'MyDesktop.model.InfrastructureModele', 
			name: 'infrastructuresAssoc', 
			primaryKey: 'pk_uti', 
			foreignKey: 'fk_pk_uti'
		}
    ]
 
});
Model Infrastructures

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
//Définition du modèle
Ext.define('MyDesktop.model.InfrastructureModele', {
	extend: 'Ext.data.Model',
	//Définition des champs de la base de données
    fields: [ 'pk_inf',
               'fk_pk_uti',
               'username_uti', 
               'nom_inf', 
               'typ_inf', 
               'fab_inf',
               'datach_inf', 
               'pri_inf', 
               'ver_log', 
               'nbrlic_log', 
               'numser_mat', 
               'os_mat', 
               'mod_mat', 
               'fir_mat', 
               'numref_mat'],
 
        proxy: new Ext.data.HttpProxy({
		type: 'json',
 
		//URL du fichier PHP donnant la liste grâce à une requête
		url: 'data/getinfrastructureliste.php',
		reader: {
			root: 'infrastructuresData',
			totalProperty: 'total'
		}
	}),
	associations: [{
		type: 'hasMany', 
		model: 'MyDesktop.model.InfrastructureModele', 
		name: 'infrastructuresAssoc', 
		primaryKey: 'pk_uti', 
		foreignKey: 'fk_pk_uti'
	}]
 
});
Voila comment je les associe

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
 
 
    /* load child models that are in the response (uses associationKey): */
    MyDesktop.model.UtilisateurModele.load(1, {
        success: function(record){
			console.log(record.infrastructures);
        }
    });
 
    /* load child models at will (uses foreignKey). this overwrites child model that are in the first load response */
    MyDesktop.model.UtilisateurModele.load(1, {
        success: function(record){
			record.infrastructures.load({
				callback:function(){
					console.log(arguments);
				}
			});
        }
    });
Merci d'avance