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
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
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' } ] });
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
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' }] });
Merci d'avance
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); } }); } });
Partager