Отключаемое поле cakephp не будет отображаться в indiex после изменения с 'name' на 'title' - PullRequest
0 голосов
/ 14 февраля 2011

Я недавно начал использовать медлительное поведение Я вышел из пекарни. Конфигурация по умолчанию использует поле 'title' для создания слага. Поэтому я изменил имя поля в моей таблице mysql с «name» на «title» вместо того, чтобы вносить изменения в конфигурацию.

Проблема, с которой я столкнулся сейчас, заключается в том, что Я не могу получить страницу индекса для этих моделей, чтобы отобразить какие-либо записи из этой таблицы . Функция paginate работает и отображает 1 из 30 записей, но в индексной таблице ничего не отображается.

Итак, я изменил поле таблицы обратно на 'name' и внес изменения в конфигурацию, чтобы 'label =>' name ', но это тоже не Работа. Как будто он застрял в «заголовке» сейчас.

Я даже удалил «действует как вялый», и до сих пор без изменений.

Любые идеи относительно того, почему изменение одного имени поля препятствует показу индекса любых записей, но пагинация будет?

Всегда, помощь очень ценится.

Пол

Ответы [ 2 ]

3 голосов
/ 14 февраля 2011
  1. Включите отладку в вашем config / core.php и посмотрите, какую ошибку он выдает.

  2. Попробуйте очистить каталог кэша под tmp в вашем проекте. Просто удалите файлы и сохраните структуру каталогов.

1 голос
/ 14 февраля 2011

Обычно, когда это происходит, это происходит из-за того, что схема кэшированной таблицы не соответствует новой схеме. Поэтому, когда вызов paginate() пытается выполнить поиск, запрос завершается ошибкой из-за нераспознанного имени столбца. Попробуйте очистить файлы в /app/tmp/cache/models. И включите отладку, как предлагает Ник.

...