#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:
- Вы создали модель категории?
-
Я не уверен, но я полагаю, что вы должны сообщить контроллеру, какую модель вы собираетесь использовать, указав:
var $name = ‘Categories’; var $uses = массив («Категория»);
функция index() { $this-> data = $this-> Category-> generatetreelist(null, нуль, нуль, ‘ ‘); debug ($this-> data); die;
}
Комментарии:
1. При соблюдении соглашений (как в данном случае) нет необходимости указывать модель