6

嗨,您只需要知道您是否可以从辅助类中查询数据库,是否应该以及如何执行。

谢谢

4

2 回答 2

3

您可以通过 $this->set() 将对模型的引用作为变量传递到视图中,然后查询它......但您不应该这样做。很乱 ;-)

CakePHP 使用 MVC 模型,并且助手是 View(MVC 的 V)的一部分——它们的工作纯粹是显示从控制器传递给它的(已经可用的)信息。

如果您的视图需要额外的信息,那么您的控制器应该已经查询了模型以获取它。

如果您不熟悉 MVC 模型,我建议您阅读它,然后可能需要进行一些重构!

于 2010-10-28T12:13:33.733 回答
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();
于 2016-04-26T05:02:17.197 回答