Conditions dans les modèles associés utilisant Model- & gt; find () (CakePHP)

Je vais avoir quelques problèmes avec CakePHP find() la méthode et les conditions dans "plus profond" modèle associations. Il y a certains de ces autour, mais je ne pouvais pas trouver une réponse à cette mesure.

Mon modèle associations sont User hasMany Post hasMany Comment hasMany Vote et Vote belongsTo Comment belongsTo Post belongsTo User respectivement. Le belongsTo associations utiliser des jointures internes ('type' => "INTÉRIEURE").

Comment puis-je trouver tous les commentaires de votes pour les postes spécifiques d'un utilisateur avec CakePHP model->find() méthode?

J'ai utilisé une chaîne de quatre modèles délibérément, parce que cela semble fonctionner pour des conditions directement des modèles associés. Donc, il n'est pas à l'aide de la clé étrangère-la tenue de la colonne dans les pays voisins de table (à l'état Post.user_id == 1' au lieu de 'Utilisateur.id == 1').

Dans SQL ce serait:

SELECT v.* 
FROM votes v 
    JOIN comments c ON (v.comment_id = c.id)
    JOIN posts p ON (c.post_id = p.id)
    JOIN users u ON (p.user_id = u.id)
WHERE u.id = 1

Je suis incapable de reproduire ces jointures à l'aide de find() + le behavior Containable comportement. Bien que je ne pouvais tout simplement obtenir un utilisateur avec toutes ses données, que je ne puis avoir à recueillir tous les suffrages de l'intérieur de la matrice résultante.

Il n'est pas de travailler comme cela (Warning: unknown column 'Utilisateur.id'):

$this->Vote->recursive = 2; //or higher
$this->Vote->find('all',array('conditions' => array('User.id' => 1)));

En fait, cela ne fonctionne pas même à l'aide de Post à la place de l'Utilisateur (Voix->Commentaire->Post) dès que j'ai ajouter la condition. La fabrication de la requête SQL ne rejoint votes et commentaires.

Le scrutin, le tableau ne doit contenir que des votes la requête SQL ci-dessus serait de retour, tout le reste doit être "reliés" loin dans le processus.

Note: Ma question est assez proche de celui-ci, qui m'a aidé à démarrer:
Dans cakephp, comment puis-je trouver les conditions sur un domaine connexe?

source d'informationauteur Wolfram | 2009-11-17