在我的 cakephp 项目中,我使用模型类的 afterSave() 方法。在此方法中,我想调用位于 app_controller 文件中的另一个方法。
class MyModel extends AppModel {
var $name = 'MyModel';
function afterSave($created) {
$this->MyController->updateData();
}
}
这里 updateData() 位于 app_controller 文件中,该文件由 MyController Controller 扩展。
上面的代码不起作用,那么在这种情况下我如何实际调用 updateData()..
请指导。
谢谢
最佳答案
强烈不建议这样做,但无论如何都可以这样做...您应该尝试按照 deizel 的说法并将该方法移至 AppModel 或任何其他特定模型...
您可以使用此功能
App::import() 检查book here查看如何使用它
在您的示例中:
class MyModel extends AppModel {
var $name = 'MyModel';
function afterSave($created) {
App::import('Controller', 'My');
$something = new MyController;
$something->updateData();
}
}
这是在另一个不应该的地方加载类的正确方法...您仍然可以使用 include 或 required 并创建该类的实例,因为这是 php。
关于cakephp - 使用 cakephp 中模型类的 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7598675/