J'ai une table X connectée à la table Y à travers contenant Quand je veux joindre interne (correspondant) ceci avec la table Z en utilisant hasOne et une fonction. CakePHP se connecte automatiquement à la ligne par défaut par hasOne non existantCakephp 3.x hasOne insère la clé étrangère par défaut
public function initialize(array $config)
{
$this->belongsTo('Y', [
'bindingKey' => 'initialen',
'foreignKey' => 'initialen'
]);
$this->hasOne('Z');
}
plus
public function search($c)
{
$query = $this->find('all')->contain('Y')->matching('Z', function ($q) use ($c) {
return $q->where(['Z.client_ID' => $c]);
});
return $query;
}
Je reçois erreur
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Z.search_id' in 'on clause'
correcte, mais que cette volonté ajoute également à la requête. Ce que je ne veux pas. Disons que je précise le foreignKey comme 'team_id' DE '' archief' searches' INNER JOIN '' archief_Z' Z' ON ( 'Z'.'client_ID' = 81 ET' searches'.'ID '= (' Z'.''team_ID') ) LEFT JOIN 'archief_Y'' Y' ON 'Y'.'initialen' = (' recherches'.'initialen') – Joost