Ошибка SQL 1064 в простой настройке CakePHP

Я использую простейший контроллер и модель, как показано здесь:

http://book.cakephp.org/view/1341/Basic-Usage

Но когда я перехожу к www.mysite.com/categories, код, который вызывает это:

<?php
class CategoriesController extends AppController {

    var $name = 'Categories';

    function index() {
        $this->data = $this->Category->generatetreelist(null, null, null, '&nbsp;&nbsp;&nbsp;');
        debug ($this->data); die;       
    }
}
?>

я получаю следующую ошибку:

Warning (512): SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'recover' at line 1 [CORE/cake/libs/model/datasources/dbo_source.php, line 684]
Code | Context

            $out = null;
            if ($error) {
                trigger_error('<span style="color:Red;text-align:left"><b>' . __('SQL Error:', true) . "</b> {$this->error}</span>", E_USER_WARNING);

$sql    =   "recover"
$error  =   "1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'recover' at line 1"
$out    =   null

DboSource::showQuery() - CORE/cake/libs/model/datasources/dbo_source.php, line 684
DboSource::execute() - CORE/cake/libs/model/datasources/dbo_source.php, line 266
DboSource::fetchAll() - CORE/cake/libs/model/datasources/dbo_source.php, line 410
DboSource::query() - CORE/cake/libs/model/datasources/dbo_source.php, line 364
Model::call__() - CORE/cake/libs/model/model.php, line 502
Overloadable::__call() - CORE/cake/libs/overloadable_php5.php, line 50
AppModel::recover() - [internal], line ??
CategoriesController::index() - APP/controllers/categories_controller.php, line 7
Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 204
Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 171
[main] - APP/webroot/index.php, line 83

Query: recover

app/controllers/categories_controller.php (line 8)

Я полностью запутался, так как я только что скопировал из оригинального руководства по кулинарной книге cakephp.

У меня есть: controllers/categories_controller.php models/category_model.php, и код скопирован из учебника.

Любая помощь?


person mgPePe    schedule 10.04.2011    source источник
comment
Проблема решена. Неверное имя файла модели. Было: category_model.php Должно было быть: category.php =(   -  person mgPePe    schedule 10.04.2011


Ответы (2)


Проблема решена. Неверное имя файла модели. Было: category_model.php Должно было быть: category.php =(

person mgPePe    schedule 12.04.2011
comment
Это случается со мной время от времени, ха! - person musicliftsme; 13.06.2013

  1. Вы создали модель категорий?
  2. Я не уверен, но я считаю, что вы должны сообщить контроллеру, какую модель вы собираетесь использовать, указав:

    var $name = 'Категории'; var $uses = массив ("Категория");

    function index() { $this->data = $this->Category->generatetreelist(null, null, null, ' '); отладка ($this->данные); умереть;
    }

person Gabriel Spiteri    schedule 10.04.2011
comment
При соблюдении соглашений (как в случае) нет необходимости указывать модель - person dogmatic69; 10.04.2011