您只需要知道是否可以从帮助程序类中查询数据库,是否应该以及如何执行此操作。
由于
答案 0 :(得分:3)
您可以通过$ this-> set()将对模型的引用作为变量传递给View,然后查询它......但是你不应该这样做。这很麻烦; - )
CakePHP使用MVC模型,帮助程序是View(MVC的V)的一部分 - 他们的工作纯粹是为了显示从控制器传递给它的(已经可用的)信息。
如果您的视图需要额外的信息,那么您的控制器应该已经查询了模型以获取它。
如果您不熟悉它,我建议您阅读MVC模型,然后可能会进行一些重构!
答案 1 :(得分:2)
是。您可以从帮助文件中查询数据库。请检查: -
class YourHelperNameHelper extends AppHelper {
function queryDbFromHelper()
{
// Load your model here
App::import('Model','ModelName');
$this->ModelName = new ModelName();
//now you can use find method or another method to query DB.
return $this->ModelName->find('all');
}
}
// Include this helper in controller
var $helpers = array('YourHelperName');
// call this function in helper file.
$this->YourHelperName->queryDbFromHelper();