我搜索了很多,但是我找不到如何在视图中使用find('all')用于Rails,但在这里我得到错误“未定义的属性:视图:: $菜单[APP \ Lib \ Cake \ View \ View.php,第804行]” “菜单”是我用来从菜单表中获取数据的模型。如何在视图中使用find('all') - CakePHP
我用在欣赏下面的代码:
$this->set('test',$this->Menu->find('all'));
print_r($test);
我搜索了很多,但是我找不到如何在视图中使用find('all')用于Rails,但在这里我得到错误“未定义的属性:视图:: $菜单[APP \ Lib \ Cake \ View \ View.php,第804行]” “菜单”是我用来从菜单表中获取数据的模型。如何在视图中使用find('all') - CakePHP
我用在欣赏下面的代码:
$this->set('test',$this->Menu->find('all'));
print_r($test);
在AppHelper,
拨打以下功能
function getMenu()
{
App::import('Model', 'Menu');
$this->Menu= &new Menu();
$test = array();
$test = $this->Menu->find('all');
return $test;
}
使用上述功能鉴于这样的:
<?php
$menu = $html->getMenu();
print_r($menu);
?>
我再次收到错误: 致命错误:调用AppHelper.php中的非对象的成员函数find()。 我AppHelper.php增加了$这个 - > loadmodel(“菜单”),但我发现了错误loadmodel是非对象。 – 2012-04-12 06:47:51
请检查我的更新回答 – chetanspeed511987 2012-04-12 07:29:47
我投了一个,因为你给不好的建议,并建议违反MVC。 – burzum 2012-04-12 10:01:16
尝试在视图文件中不检索数据。 MVC规则
违反尝试有鉴于此文件:
$menu = ClassRegistry::init('Menu');
pr($menu->find('all'));
使用此代码视图(ctp)文件不在控制器 – thecodeparadox 2012-04-12 07:02:39
没有违反MVC规则,如何做到这一点functionallity? – chetanspeed511987 2012-04-12 08:39:21
在控制器中查询,然后设置查看。或者在AppController的beforeFilter函数中进行查询,将结果存储在一个变量中,然后使用该变量。 – thecodeparadox 2012-04-12 10:56:07
内,您的菜单模式创建一个方法,像使用getMenu()。用这种方法做你的find()并得到你想要的结果。根据需要修改结果并喜欢在getMenu()方法中返回数据。
如果您需要在AppController中:: beforeFilter()或beforeRender()的每个页面上的菜单根本就
$this->set('menu', ClassRegistry::init('Menu')->getMenu());
如果你不需要它无处不在,你可能会去使用requestAction使用获取数据好这个方法来自Menus控制器,它将从模型中调用getMenu()并返回数据。把它设置在你需要的地方会更好,如果你使用requestAction,你也想缓存它。
非常感谢@burzum,你的工作! – 2012-04-12 11:17:20
如果它适合您,请您介意将答案标记为正确吗? – burzum 2012-04-12 13:35:21
@burzum:我投了那个,因为你给了正确的建议,并建议我 – chetanspeed511987 2012-04-13 03:25:31
Cakephp不允许这样做。
首先使用ClassRegistry :: init('Model')创建模型的引用(对象); 然后从使用对象调用查找函数
$obj = ClassRegistry::init('Menu');
$ test = $ obj-> find('all');
echo“”;的print_r($测试); `
这将工作。
检索视图内的日期违反了MVC规则。请不要这样做。 – thecodeparadox 2012-04-12 06:48:09
我知道,但要解决我的问题,我只知道这种方式,如果有任何其他方式帮助。 我必须显示一个表中的所有菜单,我有另一个表中的menu_id,我需要将id转换为菜单名称。 – 2012-04-12 06:56:36
我认为我的文章将解决您的问题 – thecodeparadox 2012-04-12 06:58:01