php - 在数据源默认值中找不到模型表

标签 php sql cakephp

我正在创建一个 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 仍然无法检测到这些新表。

请指教。

最佳答案

我在谷歌搜索时发现了这个问题。

我遇到了类似的问题。

我一直被提示我没有一个特定的表,但它显然在那里,我按照约定将表命名为复数形式。

我什至清除了几次蛋糕缓存文件都无济于事。

然后我把 Debug模式从0改成2,突然错误就没有了。

然后我将 Debug模式从 2 改回 0。错误仍然没有。

这是一个奇怪的行为。而且我不确定如何复制它。我将此记录下来,以防其他人遇到与我相同的问题。

更新: 我已经意识到,对于我的一个经常出现此问题的应用程序,jenkins 任务以某种方式导致 tmp/cache/persistent 中的某些文件在错误的用户:组中有文件。

我昨天已经更正了这个问题。截至目前,这个问题还没有出现。如果再过 10 天左右问题没有出现,我将声明问题是因为 tmp 文件没有正确的权限或用户:组所有权。

关于php - 在数据源默认值中找不到模型表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17145332/

相关文章:

cakephp - 如何从 select-multiple 类型的表单输入中删除包装 div

php - 试图解码病毒

php - 在将安装在许多随机主机上的 PHP 软件中使用 MySQL 触发器是否安全

php - 我的 SQL 语法中出现未知错误

sql - 如何在 Sql Server 2008 中的一个 MERGE 查询中更新、插入、删除?

php - Cakephp 2 在多个部分获取数据的问题

php - 我的sql代码有什么问题

jquery - 如何从此 SQL 语句中获取计数值

sql - 如何使用 GETDATE 的 DATEPART 作为查询的变量

php - CakePHP 根据 hasMany 关系获取 array() 中的匹配项