在CakePHP 3中扩展ORM类

时间:2016-09-07 14:21:51

标签: php cakephp cakephp-3.0

我想扩展Query类,以便在每个Table模型中创建可用的函数customContain()。我该怎么办?

1 个答案:

答案 0 :(得分:3)

  

我想在cakephp中的所有表模型中使用BleMethod()。我必须添加该功能的代码?我必须在哪里实施BleMethod?

与Cake2不同,Cake3没有像AppModel这样的应用程序级别,所有其他类都继承自该类。所以你有两个选择:

可以使用Model.initialize事件将行为全局加载到所有模型。然后在事件回调中加载行为。阅读这些页面:

但那不是你想要的

customContain()表示您想要经常设置一些包含。好吧,使用发现者。

Finders可以合并:

$this->Table->find('foo')->find('myContains')->all();

每个自定义查找都会向查询对象添加内容。您可以通过这种方式添加自定义。

阅读Custom Finder Methods