Bonjour tout le monde,
(Encore moi ouije sais que je peux compter sur vous
)
Cette fois je possède deux tables:
Users(id, first_name, last_name, email)
Modules(id, name, description)
Et j'ai donc deux tables d'associations entre ces tables:
modules_users(module_id, user_id) => pour représenter les membres d'un module
modules_owners(module_id, user_id) => pour représenter les propriétaires d'un module
quand un utilisateur crée un module, j'essai donc de l'ajouter dans l'association modules_owners.
Mais quand je fais un save en ayant ajouté
l'association se sauvegarde seulement dans modules_users et je sais pas comment faire pour dire qu'elle doit être dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part $this->request->data['users'][0] = $currentUser;
modules_owners.
Je me doutes bien que d'après mes tables cakePHP a pas de moyens de faire la différences, mais je vois pas comment lui indiquer..
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 class ModulesTable extends Table { /** * Initialize method * * @param array $config The configuration for the Table. * @return void */ public function initialize(array $config) { $this->table('modules'); $this->displayField('name'); $this->primaryKey('id'); $this->belongsToMany('Groups', [ 'foreignKey' => 'module_id', 'targetForeignKey' => 'group_id', 'joinTable' => 'modules_groups' ]); $this->belongsToMany('Users', [ 'foreignKey' => 'module_id', 'targetForeignKey' => 'user_id', 'joinTable' => 'modules_owners' ]); $this->belongsToMany('Users', [ 'foreignKey' => 'module_id', 'targetForeignKey' => 'user_id', 'joinTable' => 'modules_users' ]); }Il y'a donc un problème pour cakePHP mais je vois pas comment modéliser les informations entre un module et un utilisateur qui peut soit être un membre d'un module ou un propriétaire (sachant qu'il peut y en avoir plusieurs).
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 /** * Users Model */ class UsersTable extends Table { /** * Initialize method * * @param array $config The configuration for the Table. * @return void */ public function initialize(array $config) { $this->table('users'); $this->displayField('first_name'); $this->primaryKey('id'); $this->belongsTo('Roles', [ 'foreignKey' => 'role_id' ]); $this->belongsToMany('Groups', [ 'foreignKey' => 'user_id', 'targetForeignKey' => 'group_id', 'joinTable' => 'groups_users' ]); $this->belongsToMany('Modules', [ 'foreignKey' => 'user_id', 'targetForeignKey' => 'module_id', 'joinTable' => 'modules_users' ]); $this->belongsToMany('Modules', [ 'foreignKey' => 'user_id', 'targetForeignKey' => 'module_id', 'joinTable' => 'modules_owners' ]); }
J'espère avoir été assez claire, sinon dites moi.
Merci d'avance de vos réponses.







Répondre avec citation
Partager