2009-08-26 8 views
0

Désolé si cette question est trop vague, mais je préfère ne pas boueux c'est le point avec mes hypothèses quant à ce qui peut ou non être des informations de fond pertinentes.Accès aux associations dans une vue avec CakePHP

Si je crée une association comme employé belongsTo Société

Lorsque je crée une vue pour l'employé et que vous souhaitez afficher leur nom entreprise comment puis-je afficher simplement le nom de la société par ...

<?php echo $employee['Employee']['Company']['company_name'] ?> 

ou simplement une propriété personnalisée (si une telle chose existe), tels que ...

<?php echo $employee['Employee']['CompanyName'] ?> 

Ceci, bien sûr, suppose l'utilisation de ...

$this->set('employee',$someEmployeeRetreivalLogicHere) 

... dans le contrôleur

+2

La première chose que vous voulez vous familiariser avec Cake est la structure des résultats de la requête. Comme le souligne dhofstet, faites un 'debug()' sur les résultats de différentes requêtes. – deceze

+0

Ouais, je pensais que je l'avais baissé, mais apparemment je ne l'ai pas fait. Je cours sur la disposition par défaut, qui montre le sql étant envoyé à la DB. Je pense que je dois comprendre comment cakephp récupère mieux les données, car les instructions sql que je vois sont uniquement sur la table des employés et n'incluent aucune jointure –

Répondre

3

Il devrait être accessible avec:

<?php echo $employee['Company']['company_name'] ?> 

Si cela ne fonctionne pas, utilisez debug (employé de $); pour voir la structure du tableau.

+0

Ajoutant simplement: cela nécessite bien sûr que l'enregistrement soit récupéré avec un ' paramètre récursif. – deceze

+0

Ainsi, dans votre exemple, Employee a une propriété de date appelée "embauché", je peux y accéder par "$ employee ['Employee'] ['embauché']" ou serait-il "$ employee ['embauché]" Le paramètre récursif par défaut est également 0? –

+0

@deceze: Oui, vous avez raison, merci pour l'addition. – dhofstet

Questions connexes