Il peut être utile pour vous permettre de sauvegarder une seconde sur les principes de MVC/CakePHP.
En général, vos contrôleurs doivent gérer tous les aspects de la demande - envoi, collecte de données, etc. Vos modèles sont les points de contrôle pour votre couche de données. Et, clairement, vos vues sont la logique d'affichage réelle et la sortie.
Si vous avez des actions de données qui se déroulent dans un autre contrôleur, je vous recommande de les migrer dans le modèle de données approprié. Cela correspond mieux avec le modèle de séparation des préoccupations dans Cake. En outre, vous pouvez cependant ajouter le modèle supplémentaire à la variable $ uses dans votre second contrôleur, ce qui vous permettra d'accéder à toutes les méthodes qu'il contient.
Une note sur $ uses: assurez-vous d'inclure à la fois le modèle externe (autre) ainsi que le modèle actuel. Dites que vous êtes en OrangeController et que vous voulez inclure le modèle d'Apple, vous (dans la définition OrangeController):
class OrangeController extends AppController {
var $uses = array('Orange', 'Apple');
// other stuff
}
Du haut de ma tête, vous pouvez appeler '$ this-> Controller-> méthode()' et il devrait retourner les données, mais vous devrez peut-être ajouter 'uses()' qui est des hacks sales;) –