Bonjour,
je souhaite effectuer une relation HABTM entre les tables status et jobs, voici les tables :

table jobs
id | name
table status
id | name
table jobsvalidations
id | job_id | statut_av_id | statut_ap_id

Voici le contexte :
je souhaiterais mettre en place un système d'autorisation du changement de statut selon le job de l'utilisateur connecté
Ainsi selon son job, un utilisateur pourrait passer une tâche du statut "A verifier" au statut "OK".
Cela correspondrait au passage du statut "statut_av_id" vers "statut_ap_id" dans ma table jobsvalidations.

Afin d'avoir une base de départ je met mon code qui ne fonctionne actuellement pas.

modèle Statut :

public $hasAndBelongsToMany = array(
        'Job' => array(
            'className' => 'Job',
            'joinTable' => 'jobsvalidations',
            'foreignKey' => 'status_av_id',
            'associationForeignKey' => 'job_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )
    );

modèle Job :

public $hasAndBelongsToMany = array(
        'Statut_av' => array(
            'className' => 'Statut',
            'joinTable' => 'jobsvalidations',
            'foreignKey' => 'job_id',
            'associations' => 'statut_av_id'
        ),
        'Statut_ap' => array(
            'className' => 'Statut',
            'joinTable' => 'jobsvalidations',
            'foreignKey' => 'job_id',
            'associations' => 'statut_ap_id'
        )
    );

Aucune classe Jobsvalidation n'est nécessaire dans une relation HABTM.

J'ai déjà mis en oeuvre une relation HABTM simple sans problème, mon soucis vient donc du fait d'avoir 2 clés provenant d'une même table.

J'espère avoir été assez claire dans l'exposition de mon problème, n'hésitez pas à me poser des questions si tel n'était pas le cas.

Merci pour votre aide,

Piverte

1 réponse


Piverte
Auteur
Réponse acceptée

Pas de réponse ?
Du coup après quelques essais infructueux, je me suis finalement rabattu sur la bonne vieille relation hasMany et belongsTo avec les 3 modèles (Statut,Jobsvalidation,Job).

Si quelqu'un parvient à faire une relations hasAndBelongsToMany propre dans ce cas, ça m'intéresse toujours.