slugable поле cakephp не будет отображаться в индиксе после изменения с «имя» на «название»

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

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

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

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

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

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

Павел


person Paul    schedule 14.02.2011    source источник


Ответы (2)


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

person Lèse majesté    schedule 14.02.2011
comment
Спасибо вам обоим. Я следовал вашим инструкциям, избавился от кэшированных файлов модели и с помощью отладки обнаружил проблему. Это было неправильное имя поля в параметрах разбиения на страницы в контроллере. Как всегда высоко ценится! - person Paul; 14.02.2011

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

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

person Nik Chankov    schedule 14.02.2011