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


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 ?