Мне нужно получить информацию о User
и когда я позвоню
$this->User->find('first', array('conditions' => array('User.id' => $user_id)));
результат содержит только некоторые из полей.
В настоящее время я обновил схему базы данных. На dev-сервере он отлично работает и возвращает все поля, но на рабочем сервере эти новые поля отсутствуют. Эти серверы имеют точно такую же конфигурацию.
Я уже пытался удалить содержимое app/tmp/cache/models
и я использую File
engine для кеширования.
Файл schema.php
обновлен, содержимое файлов в app/tmp/cache/models
указывает, что эти поля присутствуют, но я не смог их восстановить на рабочем сервере. Единственное отличие, возможно, в уровне базы данных и отладки. Я попытался скопировать базу данных и использовать ее с сервером dev, и это сработало хорошо.
Я не могу установить debug на 2 на производственном сервере.
Кто-нибудь из вас испытывал какое-либо подобное поведение?
PS Я использую Cake 2.3.3
Ответ был довольно простым. Мне пришлось удалить не только содержимое app/tmp/models
, но и то, что на самом деле заработало, это удаление содержимого app/tmp/persistent
.
Мой ответ немного отличается от @ Elwhis. Я на торте 2.4.5 . Для меня не было каталога app/tmp/models
или app/tmp/persistent
. models
и persistent
были в app/tmp/cache
. Точно так же, как @Elwhis, поиск в каталоге app/tmp/cache/models
показал недостающие поля, поэтому это сбивало с толку.
Чтобы исправить это , я удалил все файлы из app/tmp/cache/persistent
. Обратите внимание: если вы удалите сам каталог, вы получите 500 ошибок от CakePHP.
Я рекомендую добавить удаление файлов в этот каталог в процесс развертывания.