CakePHP:组件中的查询?

CakePHP:组件中的查询?,cakephp,components,Cakephp,Components,在创建CakePHP组件时遇到问题,甚至可能出现问题。基本上,我需要实现一些可以在布局中随处访问的任务(边栏统计等等) 当我尝试在组件中查询时,我在对非对象调用函数时出错 该死,有人能解释一下吗 干杯 你在做这样的事吗 class MyComponent extends object { function startup(&$controller) { $this->controller = $controller; // Stores reference Contro

在创建CakePHP组件时遇到问题,甚至可能出现问题。基本上,我需要实现一些可以在布局中随处访问的任务(边栏统计等等)

当我尝试在组件中查询时,我在对非对象调用函数时出错

该死,有人能解释一下吗


干杯

你在做这样的事吗

class MyComponent extends object {
  function startup(&$controller) {
    $this->controller = $controller; // Stores reference Controller in the component
  }
  function common() {
    $data = ClassRegistry::init('MyModel')->myQuery(); // Call the query on the model
    $this->controller->set(compact('data')); // Sets data from myQuery in view
  }
}

冒着听起来很迂腐的风险,你这样做会非常违反MVC。如果您同意,您可以使用
App::import()
从应用程序()中的任何位置加载任何模型


如果您有兴趣尝试保留MVC结构,我们可能可以帮助您了解有关以这种通用方式运行所需查询的更多信息。

我可以使用确切的错误或错误源代码;)+1此解决方案比我的好,因为它不仅加载模型,而且实例化模型。当我提供自己的答案时,我忘记了这一点。圣母啊!这就是我想要的!谢谢!罗布,我试过了,但我需要把事情搞砸。每小时我都会学到一些关于CakePHP的新知识:)我认为我们在这里所做的是使用CakePHP和漂亮的结构来添加一个独立的表,该表在整个应用程序中使用,而不是应用程序流或逻辑的一部分。统计表就是一个很好的例子。