私はこのモデルファイルを持っています:
// 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 ;
myapp_cake_model_default_mydatabase_myfans
フォルダからファイルを削除しまし/httpdocs/app/tmp/cache/models
た。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 {
}