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

#sql #cakephp #tree

#sql #какеффп #дерево #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, 'amp;nbsp;amp;nbsp;amp;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 cookbook.

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

Какая-нибудь помощь?

Комментарии:

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

Ответ №1:

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

Комментарии:

1. Это случается со мной время от времени, хах!

Ответ №2:

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

    var $name = ‘Categories’; var $uses = массив («Категория»);

    функция index() { $this-> data = $this-> Category-> generatetreelist(null, нуль, нуль, ‘ ‘); debug ($this-> data); die;
    }

Комментарии:

1. При соблюдении соглашений (как в данном случае) нет необходимости указывать модель