未知的专栏中,我有这个模型文件:CakePHP的模型,在字段列表
// Myfan.php
class Myfan extends AppModel {
var $name = 'Myfan';
var $useTable = 'myfans';
function getAll(){
return $this->find('all');
}
}
我尝试此查询(这简单地隔离问题)我的控制器类里面。
$Data=$this->Myfan->find('all',
array(
'limit' => 10
));
从MySQL我得到这个错误:
SQLSTATE[42S22]:
Column not found: 1054 Unknown column 'Myfan.name' in 'field list'
我的表结构是这样的:
CREATE TABLE IF NOT EXISTS `myfans` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`screen_name` varchar(50) CHARACTER SET utf8 NOT NULL,
`age` int(20) DEFAULT NULL,
`color` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=705314 ;
我从/httpdocs/app/tmp/cache/models
文件夹中删除myapp_cake_model_default_mydatabase_myfans
文件。 Cake自动创建文件,但我仍然得到相同的错误。我该如何解决这个问题?
我甚至没有我的表里面的“名称”字段。但我不确定我以前是否有过。 Cake在哪里检查该字段?
编辑:我得到同样的错误,当我更改查询到这一点:
$Data=$this->Myfan->find('all', array(
'conditions' => array('Myfan.screen_name' => $screenname),
'order' => array('Myfan.id DESC')
));
而且我AppModel
// AppModel.php
App::uses('Model', 'Model');
class AppModel extends Model {
}
这是你的模型的*实际*代码,还是有更多的代码(验证规则,关系,虚拟域?) – thaJeztah 2013-02-09 11:04:14
@thaJeztah是的,这是实际的代码。没有更多的关系等。 – trante 2013-02-09 11:16:19
你可以添加产生错误的完整查询到你的问题吗? (请使用编辑,而不是添加它作为评论) – thaJeztah 2013-02-09 11:21:00