Cakephp 2.x アプリケーションを作成しています。開発の途中で、突然「テーブルが見つかりません」というエラーが発生しました。
Missing Database Table
Error: Table blocked for model Parental was not found in datasource default.
Notice: If you want to customize this error message, create project\View\Errors\missing_table
データベースを確認したところ、関連付けられたテーブルが実際にそこにありました。
次に、モデルのデバッグを試みます。モデルはテーブルにアクセスできます。Cakephp がデータテーブルを見つけられないというエラーが持続します。
モデルをデバッグすると、次のようになります。
\project\Controller\ParentalsController.php (line 5)
object(Parental) {
useTable => 'blocked'
useDbConfig => 'default'
id => null
data => array()
schemaName => null
table => 'blocked'
primaryKey => 'id'
validate => array()
validationErrors => array()
validationDomain => null
name => 'Parental'
alias => 'Parental'
tableToModel => array(
'blocked' => 'Parental'
)
cacheQueries => false
belongsTo => array()
hasOne => array()
hasMany => array()
hasAndBelongsToMany => array()
actsAs => null
Behaviors => object(BehaviorCollection) {
modelName => 'Parental'
defaultPriority => (int) 10
}
whitelist => array()
cacheSources => true
findQueryType => null
recursive => (int) 1
order => null
virtualFields => array()
__backAssociation => array()
__backInnerAssociation => array()
__backOriginalAssociation => array()
__backContainableAssociation => array()
findMethods => array(
'all' => true,
'first' => true,
'count' => true,
'neighbors' => true,
'list' => true,
'threaded' => true
)
}
モデルが使用する代わりに、次の新しいテーブルの作成も試しました。モデルは新しいテーブルにアクセスできますが、CakePHP はまだこれらの新しいテーブルを検出できません。
お知らせ下さい。