bonsoir a tous jutilise cakephp 211 mais jai un probleme de liaison des tables
quand jexecute ceci dans mon controller
$conditions = array(
'contain' => array(
'y' => array (
'z' => array(
'w'=> array(
'conditions' => array('col>=' => $q))
)
)
));

$this->loadmodel('x');
$o=$this->x->find('all',$conditions);//array(
debug($o);

ce ne sont que les donnees de la table x qui saffichent, comme quoi apparemment il ne fait pas attention aux jointures!
en fait jaimerai executer un sql du genre:
select z.col1, y.col2, x.col3
from z, y, x, w
where w.col>= 3
and w.z_id = z.id
and z.y_id = y.id
and z.x_id = x.id
ma bd se presente comme suit: 'x' hasmany 'y' hasmany 'z' hasmany 'w'

voici le code de mon modele x qui est similaire aux autres modeles:
<? php

class x extends AppModel
{
var $name='x';
public $actsAs = array('Containable');
public $hasMany = array( 'y');
}

je pense avoir tout respecté mais je ne vois pas où se situe le problème?
merci pour votre aide.

1 réponse


pour tester la liaison de tes tables, enlève le comportement Containable et fait un find avec recursive=2 ou 3 pour tester. Si les liaison ne se font pas là, le containable ne résoudra pas le problème.