je m'explique j'ai une table user et une table ami tous les amis son forcément de user.
comment je peux faire pour que ma table ami se comporte comme une table intermédiaire en aillent qu'une table user ?
ok j'ai trouvé la solution était
public $hasAndBelongsToMany = array(
'Visioneur' => array(
'className' => 'Profil',
'joinTable' => 'profilvisiblepars',
'foreignKey' => 'profil_id',
'associationForeignKey' => 'visioneur_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
),
)
merci matt75 de m'avoir mit se le bon rail
merci sa devrai le faire je teste sa tous e suite
ps: je m'était pas rendu compte que grafikart était si fréquenté et si réactif
bon ok je pence qu'on est sur la bonne piste mais...
je peux pas être très précis mais j'ai une table profil possèdent évidement un id.
une table nome (façon conventionnel je sais) profilvisiblpars
un profil peux être vus par plusieurs autre profil listé dans la table 'intermédiaire' profilvisiblepars
dans mon model profil j'ai
public $hasMany = array(
'Visible' => array(
'className' => 'Profilvisiblpar',
'foreignKey' => 'visioneur_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Visioneur' => array(
'className' => 'Profilvisiblpar',
'foreignKey' => 'profil_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
)
et dans le model profilvisiblepars
public $belongsTo = array(
'Profil' => array(
'className' => 'Profil',
'foreignKey' => 'profil_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Visioneur'=> array(
'className' => 'Profil',
'foreignKey' => 'visioneur_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
et depuis le controleur profil (au moment d'enregistré le profil) comme suite
$this->Profil->saveAssociated($this->request->data)
//exrait du tableau data
'Visioneur' => array(
'Visioneur' => array(
(int) 0 => '1',
(int) 1 => '31',
(int) 2 => '30'
)
),
le problème est simple il enregistre que l'id du profil qu'il vient de créé dans profilvisiblepars
et 0 a la place de l'id du profil du visioneur_id
vous auriez pas d'idée sur la cause ?