嗨,您只需要知道您是否可以从辅助类中查询数据库,是否应该以及如何执行。
谢谢
您可以通过 $this->set() 将对模型的引用作为变量传递到视图中,然后查询它......但您不应该这样做。很乱 ;-)
CakePHP 使用 MVC 模型,并且助手是 View(MVC 的 V)的一部分——它们的工作纯粹是显示从控制器传递给它的(已经可用的)信息。
如果您的视图需要额外的信息,那么您的控制器应该已经查询了模型以获取它。
如果您不熟悉 MVC 模型,我建议您阅读它,然后可能需要进行一些重构!
是的。您可以从帮助文件中查询数据库。请检查:-
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();