假设我有Model1和Model2。在每个beforeSave()中,我想调用函数f()。
- 我必须把f()放在哪里?
- 如何在模型的beforeSave()函数中调用它(语法问题)?
PS:我想做一些事情,比如在将文件保存到数据库之前更改上传文件的名称。我知道如何进行上传,但不知道将该方法放在哪里,以便我可以在其他模型中使用它。
假设我有Model1和Model2。在每个beforeSave()中,我想调用函数f()。
PS:我想做一些事情,比如在将文件保存到数据库之前更改上传文件的名称。我知道如何进行上传,但不知道将该方法放在哪里,以便我可以在其他模型中使用它。
ABehavior
具有您可以挂钩的事件 - 其中一个是beforeSave()
回调。
制作一个行为并将其附加到需要该行为的模型上。
有关更多信息,请参阅http://book.cakephp.org/2.0/en/models/behaviors.html。
好问题,
您可以使用 AppModel.php
<?php
class AppModel extends Model{
function f1($arg){
// some code
}
}
?>
从 model1 和 model2 你可以调用它,如下所示:
<?php
class Model1 extends AppModel{
function beforeSave(){
$this->f1($arg1);
// some code
}
}
?>
我认为这将解决上述问题!