我有StatsController.php和
class StatsController extends AppController {
public function edit($id = null) {
var_dump($this->Stat);
}
}
我有
的StatModel.phpclass Stat extends AppModel {
public $useTable = 'tips';
// ....
}
当我尝试保存数据时,我的初始错误是:
缺少数据库表|错误:在数据源默认值中找不到模型Stat的表统计信息。
我做错了什么,谢谢。
这是var_dump:
object(AppModel)[26]
public 'useDbConfig' => string 'default' (length=7)
public 'useTable' => string 'stats' (length=5)
public 'id' => null
public 'data' =>
array (size=0)
empty
public 'schemaName' => null
public 'table' => string 'stats' (length=5)
public 'primaryKey' => string 'id' (length=2)
protected '_schema' => null
public 'validate' =>
array (size=0)
empty
public 'validationErrors' =>
array (size=0)
empty
public 'validationDomain' => null
public 'plugin' => null
public 'name' => string 'Stat' (length=4)
public 'alias' => string 'Stat' (length=4)
public 'tableToModel' =>
array (size=1)
'stats' => string 'Stat' (length=4)
public 'cacheQueries' => boolean false
public 'belongsTo' =>
array (size=0)
empty
public 'hasOne' =>
array (size=0)
empty
public 'hasMany' =>
array (size=0)
empty
public 'hasAndBelongsToMany' =>
array (size=0)
empty
public 'actsAs' => null
public 'Behaviors' =>
object(BehaviorCollection)[27]
public 'modelName' => string 'Stat' (length=4)
protected '_methods' =>
array (size=0)
empty
protected '_mappedMethods' =>
array (size=0)
empty
protected '_enabled' =>
array (size=0)
empty
protected '_loaded' =>
array (size=0)
empty
public 'defaultPriority' => int 10
public 'whitelist' =>
array (size=0)
empty
public 'cacheSources' => boolean true
public 'findQueryType' => null
public 'recursive' => int 1
public 'order' => null
public 'virtualFields' =>
array (size=0)
empty
protected '_associationKeys' =>
array (size=4)
'belongsTo' =>
array (size=6)
0 => string 'className' (length=9)
1 => string 'foreignKey' (length=10)
2 => string 'conditions' (length=10)
3 => string 'fields' (length=6)
4 => string 'order' (length=5)
5 => string 'counterCache' (length=12)
'hasOne' =>
array (size=6)
0 => string 'className' (length=9)
1 => string 'foreignKey' (length=10)
2 => string 'conditions' (length=10)
3 => string 'fields' (length=6)
4 => string 'order' (length=5)
5 => string 'dependent' (length=9)
'hasMany' =>
array (size=11)
0 => string 'className' (length=9)
1 => string 'foreignKey' (length=10)
2 => string 'conditions' (length=10)
3 => string 'fields' (length=6)
4 => string 'order' (length=5)
5 => string 'limit' (length=5)
6 => string 'offset' (length=6)
7 => string 'dependent' (length=9)
8 => string 'exclusive' (length=9)
9 => string 'finderQuery' (length=11)
10 => string 'counterQuery' (length=12)
'hasAndBelongsToMany' =>
array (size=12)
0 => string 'className' (length=9)
1 => string 'joinTable' (length=9)
2 => string 'with' (length=4)
3 => string 'foreignKey' (length=10)
4 => string 'associationForeignKey' (length=21)
5 => string 'conditions' (length=10)
6 => string 'fields' (length=6)
7 => string 'order' (length=5)
8 => string 'limit' (length=5)
9 => string 'offset' (length=6)
10 => string 'unique' (length=6)
11 => string 'finderQuery' (length=11)
protected '_associations' =>
array (size=4)
0 => string 'belongsTo' (length=9)
1 => string 'hasOne' (length=6)
2 => string 'hasMany' (length=7)
3 => string 'hasAndBelongsToMany' (length=19)
public '__backAssociation' =>
array (size=0)
empty
public '__backInnerAssociation' =>
array (size=0)
empty
public '__backOriginalAssociation' =>
array (size=0)
empty
public '__backContainableAssociation' =>
array (size=0)
empty
protected '_insertID' => null
protected '_sourceConfigured' => boolean false
public 'findMethods' =>
array (size=6)
'all' => boolean true
'first' => boolean true
'count' => boolean true
'neighbors' => boolean true
'list' => boolean true
'threaded' => boolean true
protected '_eventManager' => null
protected '_validator' => null
答案 0 :(得分:4)
我有
的StatModel.php
将文件StatModel.php
重命名为Stat.php
,并确保其位于Model
文件夹中。模型文件未附加单词Model
。我知道,它与控制器不一致,但我没有写Cake:)
当我调用/ stats / edit时,似乎我的模型没有被使用,我没有得到任何错误,而且我也无法更改表名(我想使用提示表)
CakePHP无法在模型文件夹中找到Stat.php
文件,因此会自动创建假模型。使用模型名称作为模式,它会查找stats
表。
答案 1 :(得分:-2)
我猜传感器无法正确地将Stats解析为Stat。不要使用缩写,为什么不统计?如果你处理提示表,为什么不使用TipsController?
但是,如果您想使用该模型,请尝试:
public $uses = array('Stat');
在控制器中显式设置该模型。