我有一个奇怪的问题,即从表中删除的列仍然在查询中被引用。
我从监控表中删除了字段(列)change_pending,并检查了我的代码中没有引用它。
网页工作正常,但这是在控制台中的一些批处理。是否可以为模型缓存字段(列)?
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Monitor.change_pending' in 'field list'
#0 D:\inetpub\wwwroot\SRP\lib\Cake\Model\Datasource\DboSource.php(458): PDOStatement->execute(Array)
#1 D:\inetpub\wwwroot\SRP\lib\Cake\Model\Datasource\DboSource.php(424): DboSource->_execute('SELECT `Monitor...', Array)
#2 D:\inetpub\wwwroot\SRP\lib\Cake\Model\Datasource\DboSource.php(665): DboSource->execute('SELECT `Monitor...', Array, Array)
#3 D:\inetpub\wwwroot\SRP\lib\Cake\Model\Datasource\DboSource.php(1077): DboSource->fetchAll('SELECT `Monitor...', false)
#4 D:\inetpub\wwwroot\SRP\lib\Cake\Model\Model.php(2900): DboSource->read(Object(AppModel), Array)
#5 D:\inetpub\wwwroot\SRP\lib\Cake\Model\Model.php(2872): Model->_readDataSource('all', Array)
#6 D:\inetpub\wwwroot\SRP\app\Console\Command\ProcessRequestShell.php(122): Model->find('all', Array)
#7 D:\inetpub\wwwroot\SRP\app\Console\Command\ProcessRequestShell.php(241): ProcessRequestShell->complete_requests()
#8 D:\inetpub\wwwroot\SRP\lib\Cake\Console\Shell.php(434): ProcessRequestShell->main()
#9 D:\inetpub\wwwroot\SRP\lib\Cake\Console\ShellDispatcher.php(207): Shell->runCommand(NULL, Array)
#10 D:\inetpub\wwwroot\SRP\lib\Cake\Console\ShellDispatcher.php(66): ShellDispatcher->dispatch()
#11 D:\inetpub\wwwroot\SRP\lib\Cake\Console\cake.php(49): ShellDispatcher::run(Array)
#12 {main}
42S22
答案 0 :(得分:1)
确保清除模型缓存,它会将数据库模式存储在那里以提高速度。
/var/www/mysite/app/tmp/cache/models
这将无需将debug
设置为2。