CakePHP: запрос в компоненте? - PullRequest
0 голосов
/ 17 января 2010

Возник вопрос, возможно, даже проблема при создании компонента CakePHP. По сути, мне нужно реализовать несколько запросов, которые могут быть доступны везде в моем макете (статистика боковой панели и т. Д.).

Когда я пытаюсь выполнить запрос в Компоненте, я получаю сообщение об ошибке при вызове функции для необъекта.

Блин, кто-нибудь может мне это объяснить?

Ура!

Ответы [ 2 ]

3 голосов
/ 17 января 2010

Вы делаете что-то подобное?

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
  }
}
0 голосов
/ 17 января 2010

Опасаясь звучать педантично, вы будете вопиющим образом нарушать MVC. Если вы согласны с этим, вы можете использовать App::import() для загрузки любой модели из любой точки вашего приложения (http://book.cakephp.org/view/531/Importing-Controllers-Models-Components-Behaviors-).

Если вы заинтересованы в попытке сохранить структуру MVC, возможно, мы сможем помочь вам получить дополнительную информацию о запросах, которые вам нужно выполнить таким общим образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...