HABTM

Par agencep, il y a 10 ans


Bonjour,
J'ai le model Personnel qui utilise la table companyPersonnels et le model des options Prime qui utilise la table companyPrimes et je voudrais faire du HABTM entre les 2 models avec la table companyPersonnels_Primes contenant les 2 champs (INT) companyPrime_id et companyPersonnel_id.

Model Personnel j'ai mis la relation $hasAndBelongsToMany avec le Model Prime

Dans le controller $this->Personnel->save($this->request->data);

mais ça ne marche pas et pas d'erreur visible.

Merci pour l'aide

1 réponse

sebtrays, il y a 10 ans

Bonjour,
Je ne sais pas qu'elle version de Cakephp tu utilises mais les relations sont t'ils correctent ?
Pour cakephp 3:
SI j'ai bien suivis dans ton model "PersonnelsTable" tu dois avoir:

$this->belongsToMany('Primes', [ 'foreignKey' => 'personnel_id', 'targetForeignKey' => 'prime_id', 'joinTable' => 'personnels_primes' ]);

Dans ton model "PrimesTable":

$this->belongsToMany('Personnels', [ 'foreignKey' => 'prime_id', 'targetForeignKey' => 'personnel_id', 'joinTable' => 'personnels_primes ]);

Dans ton model PersonnelsPrimesTable:

$this->belongsTo('Personnels', [ 'foreignKey' => 'personnel_id', 'joinType' => 'INNER' ]); $this->belongsTo('Primes', [ 'foreignKey' => 'prime_id', 'joinType' => 'INNER' ]);

Est-ce bon ?