Cakephp: хотите создать контроллер без модели базы данных

Я разрабатываю приложение cakephp, мне не нужно использовать любые таблицы базы данных для моей домашней страницы, но торт, запрашивающий модель и таблицу базы данных. Как я могу решить эту проблему? (с использованием cakephp 1.3)

Спасибо

Ответ 1

Просто установите $uses вашего контроллера на false, например

class MyController extends AppController {
   var $uses = false;
}

Или разместите свой просмотр внутри приложения/views/pages/home.ctp

Ответ 2

Я не уверен, какая версия использовалась, но для меня, на 1.3.6, $uses есть массив.

class MyController extends AppController {
   var $uses = array();
}

Подробности можно увидеть здесь: 3.5.3.2 $components, $helpers и $uses

Ответ 3

Для тех, кто имеет ту же проблему в CakePHP 3.0+, это то, что работает для меня:

class MyController extends AppController {
   public function initialize() {
       parent::initialize();
       $this->modelClass = false;
   }
}

Ответ 4

Для тех, кто имеет ту же проблему в версии 2.1+ (несмотря на то, что docs говорит), это то, что работает для меня:

public $uses = null;

Ответ 5

Вы можете найти ответ из официальной документации CakePHP на https://book.cakephp.org/1.2/en/The-Manual/Developing-with-CakePHP/Controllers.html:

Если вы не хотите использовать модель в своем контроллере, установите var $uses = array(). Это позволит вам использовать контроллер без необходимости в соответствующем файле модели.