如何在Views - CakePHP中使用find('all')

Pra*_*mar 0 cakephp views findall cakephp-2.0

我搜索了很多,但我找不到如何使用Rails中使用的视图中的查找('all'),但在这里我得到错误"Undefined property:View :: $ Menu [APP\Lib\Cake\View\View.php,第804行]"'Menu'是我用来从菜单表中获取数据的模型.

我在视图中使用以下代码:

$this->set('test',$this->Menu->find('all'));
print_r($test);
Run Code Online (Sandbox Code Playgroud)

bur*_*zum 6

在Menu模型中创建一个方法,类似于getMenu().在这个方法中,执行find()并获得所需的结果.根据需要修改结果,并在getMenu()方法中修改结果并返回数据.

如果您需要在AppController :: beforeFilter()或beforeRender()中的每个页面上都使用该菜单

$this->set('menu', ClassRegistry::init('Menu')->getMenu());
Run Code Online (Sandbox Code Playgroud)

如果你不需要它到处都可以使用requestAction从Menus控制器获取数据,这将从模型中调用getMenu()并返回数据.将它设置在您需要的地方仍然会更好,如果您使用requestAction,您也希望很有可能将其缓存.