cakePHP:您可以从辅助类查询数据库吗?

发布于 2024-09-29 06:07:34 字数 54 浏览 4 评论 0原文

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

谢谢

Hi just need to know whether you can query the database from inside a helper class, whether you should and how you do it.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

口干舌燥 2024-10-06 06:07:34

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

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

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

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

You could, by passing a reference to the Model into the View as a variable via $this->set() and then querying it...but you shouldn't. It's messy ;-)

CakePHP uses the MVC model, and helpers are part of the View (the V of MVC) - their job is purely to display the (already available) information passed to it from the controller.

If your view needs extra information , then your controller should have already queried the Models to get it.

I'd suggest you read up on the MVC model if you're not familiar with it, then some refactoring might be in order!

○愚か者の日 2024-10-06 06:07:34

是的。您可以从帮助程序文件中查询数据库。请检查这个:-

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

Yes. You can query the database from your helper file. Please check this :-

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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文