在我的cakephp项目中,我使用模型类的afterSave()方法.在这个方法中,我想调用另一个位于app_controller文件中的方法.
class MyModel extends AppModel {
var $name = 'MyModel';
function afterSave($created) {
$this->MyController->updateData();
}
}
Run Code Online (Sandbox Code Playgroud)
这里updateData()位于app_controller文件中,该文件由MyController控制器扩展.
上面的代码不起作用,所以在这种情况下如何实际调用updateData()..
请指导.
谢谢
强烈建议不要这样做,但无论如何都可以这样做......你应该尝试deizel说并将该方法移动到AppModel或任何其他特定模型......
你可以使用这个功能
在你的例子中:
class MyModel extends AppModel {
var $name = 'MyModel';
function afterSave($created) {
App::import('Controller', 'My');
$something = new MyController;
$something->updateData();
}
}
Run Code Online (Sandbox Code Playgroud)
这是将一个类加载到另一个不应该的地方的正确方法...仍然可以使用include或者必需并创建该类的实例,因为这是php.