cakePHP:你能从helper类查询数据库吗?

时间:2010-10-27 08:33:09

标签: cakephp-1.3 helpers

您只需要知道是否可以从帮助程序类中查询数据库,是否应该以及如何执行此操作。

由于

2 个答案:

答案 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();