Странное поведение с таблицей catalog_menu

Уже исправленные репорты или принятые предложения
Закрыто
Magnat
Сообщения: 9
Зарегистрирован: 2011.03.29, 15:02

Странное поведение с таблицей catalog_menu

Сообщение Magnat »

Создал таблицу в MySQL catalog_menu. SQL:

Код: Выделить всё

CREATE TABLE IF NOT EXISTS `catalog_menu` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) unsigned NOT NULL,
  `name` varchar(64) NOT NULL,
  `url` varchar(255) NOT NULL,
  `order` int(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `parent_id` (`parent_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 
В gii сначала создал модель CatalogMenu и потом попытался создать CRUD, но выдается ошибка:

Код: Выделить всё

'CatalogMenu' must extend from CActiveRecord. 
При переименовании класса модели в CatalogMenu1 и, соответственно, файла в CatalogMenu1.php CRUD генерится нормально. Переименовываю обратно - ошибка. Пробовал сгенерировать CatalogMenu1 и потом уже переименовать все файлы и содержимое модели и CRUD под CatalogMenu - вываливается ошибка, что метод 'tableName' не найден в модели, хотя все есть и по сути проблема в названии класса.
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Странное поведение с таблицей catalog_menu

Сообщение Nafania »

order - служебное слово, не используйте его в названиях таблиц.
Magnat
Сообщения: 9
Зарегистрирован: 2011.03.29, 15:02

Re: Странное поведение с таблицей catalog_menu

Сообщение Magnat »

Причем тут название таблицы. Таблица называется `catalog_menu`, a `order` - название колонки. И служебным оно будет только если я его не заключу в ``
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Странное поведение с таблицей catalog_menu

Сообщение Nafania »

Magnat писал(а):Причем тут название таблицы. Таблица называется `catalog_menu`, a `order` - название колонки. И служебным оно будет только если я его не заключу в ``
Я ошибся, не таблицы, а поля.
Да, только если не заключите в кавычки, но yii не всегда все в кавычки заключает, да и вы можете забыть.
Переименуйте поле и ошибка должна пропасть.
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Странное поведение с таблицей catalog_menu

Сообщение rak »

а нету случаем уже другого класса с таким же названием? Может виджет? Похоже именно на это.
Magnat
Сообщения: 9
Зарегистрирован: 2011.03.29, 15:02

Re: Странное поведение с таблицей catalog_menu

Сообщение Magnat »

Переименование поля не является решением этой проблемы. Да и дело тут не в поле. Ведь при переименовании самой таблицы все работает. И, на сколько я знаю, Yii обращается к полям не напрямую по имени, а как таблица.поле (t.order и тд), а это не вызовет ошибки
Magnat
Сообщения: 9
Зарегистрирован: 2011.03.29, 15:02

Re: Странное поведение с таблицей catalog_menu

Сообщение Magnat »

rak писал(а):а нету случаем уже другого класса с таким же названием? Может виджет? Похоже именно на это.
Точно. Именно виджет. Спасибо, что помогли. Проект разросся и я уже сам не помню что там как называется.

тему можно закрыть
Закрыто