未知的專欄中,我有這個模型文件: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