Bonjour,
Voila je rencontre un petit problème avec mon code.
$this->belongsToMany('ZwaveClamps', [
'through' => 'Box.ProdConsoClamps',
'targetForeignKey' => ['source_id', 'home_id'],
'foreignKey' => ['source_id', 'home_id'],
'conditions' => [
'ProdConsoClamps.source_type' => 'zwave'
],
'className' => 'DomesticAppliances.PlugDevice',
]);
Et voici la déclaration de ma primary key dans PlugDevice :
$this->primaryKey(['id', 'home_id']);
Donc j'obtiens en débeugant une query tout ce qu'il a de plus logique qui fini comme ça :
AND (ProdConsoClamps.source_id, ProdConsoClamps.home_id) IN (()))
Le soucis c'est que mon IN(())) est vide ... En fait la requete devrait ressembler à ça :
AND (ProdConsoClamps.source_id, ProdConsoClamps.home_id) IN ((34, 2)))
Je l'ai testé dans phpMyAdmin et ca fonctionne comme ca.
Donc ma question, pourquoi mes primary key ne sont pas renseignées ?
PS: à Savoir, si dans PlugDevice je supprime ma primaryKey multiple et que je la remplace par une unique, ça fonctionne, le soucis c'est qu'il m'en faut 2 et non 1 seule ....
Merciii.