2010-07-14 11 views
1

Actuellement, j'ai un problème. Je veux accéder aux données disponibles dans la 4ème table de ma base de données.Comment les données disponibles dans une 4ème colonne dans cakephp?

Db Image:

enter image description here

Je les tableaux de cette façon: Catégories -> Categories_Companies -> Entreprises -> Filiales

Comme cela se voit dans l'image que je suis sur les catégories et dans la vue Catégories (views/categories/view.ctp) je veux montrer les champs title et url de la table des affiliés.

Il y a une autre façon de le faire sans utiliser la requête this->?

Observe

Répondre

1

Vous accédez à une table via son modèle. Le modèle Category est automatiquement inclus dans CategoriesController par convention de dénomination. Vous pouvez inclure d'autres modèles en utilisant $uses.

var $uses = array('Category', 'Affiliate'); 

function view() { 
    $this->Category->find(…); 
    $this->Affiliate->find(…); 
} 

Ou, si vos modèles sont liés par des associations, vous pouvez y accéder par une association:

$this->Category->Company->Affiliate->find(…); 

Les deux exemples sont équivalents, le premier est un peu plus pratique.

+0

+1. Je préférerais le second. – bancer

+0

@bancer Moi aussi, mais cela dépend de la distance de l'association et de la fréquence à laquelle je l'utilise. Je ne voudrais pas avoir '$ this-> Model1-> Model2-> Model3-> Model4-> find()' dans mon code trop souvent ... :) – deceze

Questions connexes