Model view controller CAkePHP从不同的控制器调用一个控制器操作

Model view controller CAkePHP从不同的控制器调用一个控制器操作,model-view-controller,cakephp,controllers,Model View Controller,Cakephp,Controllers,在我的应用程序中,我想在用户每次收到图像或其他页面上的评论时添加一个用户通知。因此,在images控制器中的AddAction中,我还想调用Notifications控制器中的addNotifications操作。基于警告,我试图远离requestAction,但还有其他方法吗 工作流程如下: 新事件发生->通知通知表中的通知添加->电子邮件用户存在通知。 < P>如果它将是对各种事情的通知,那么我会考虑AppHub控制器中的一些东西,因为这将使它在整个应用程序中都可用。意思是你可以打电话给 $

在我的应用程序中,我想在用户每次收到图像或其他页面上的评论时添加一个用户通知。因此,在images控制器中的AddAction中,我还想调用Notifications控制器中的addNotifications操作。基于警告,我试图远离requestAction,但还有其他方法吗

工作流程如下:
新事件发生->通知通知表中的通知添加->电子邮件用户存在通知。

< P>如果它将是对各种事情的通知,那么我会考虑AppHub控制器中的一些东西,因为这将使它在整个应用程序中都可用。意思是你可以打电话给

$this->Notify($user['User']['email'], 'MyNotifyType', 'MyTemplateName');
然后,您可以处理应用程序控制器通知功能中的其他位。你可能需要将你的用户模型添加到你的应用程序控制器中,这可能很棘手


我会尝试使用uses,因为这可以让你添加模型,从而从你的app_控制器中提取用户数据,如果你想说包括用户上次登录的详细信息、用户名或正式问候语等。

如果你想调用基于另一个模型的方法,你需要将它放在模型类中,因此,在您的示例中,在通知模型中。然后,您可以使用从图像控制器调用它

$this->Image->Notification->add($params);

如果模型是关联的。如果它们不是,您可以动态连接它们,也可以使用之前的建议,在appController中添加功能,但这并不完美,因为appController中的功能不应依赖于特定型号,而是通用的

谢谢!这就是我们决定要做的。