是什么导致这个modx xpdo错误?

时间:2014-06-28 19:11:37

标签: php modx modx-revolution xpdo

我有一个针对modx革命的自定义额外功能,但它引发了错误:

[2014-06-28 15:06:21] (ERROR @ /index.php) Error 42S02 executing statement:
Array
(
    [0] => 42S02
    [1] => 1146
    [2] => Table 'db_name.modx_static_values' doesn't exist
)

我试图在构造函数中添加这样的包:

if (!$this->modx->addPackage('americansurcharge',MODX_CORE_PATH.'components/americansurcharge/model/','gsi_')) {

$this->modx->log(modX::LOG_LEVEL_ERROR,'Problem adding surcharge package. ');

}

表' gsi_static_values'确实存在且路径正确[已验证] - 此外在我的架构中:

<?xml version="1.0" encoding="UTF-8"?>

<model package="AmericanSurcharge" baseClass="xPDOObject" tablePrefix="gsi_" platform="mysql" defaultEngine="MyISAM" version="1.1">

    <object class="StaticValues" table="static_values" extends="xPDOSimpleObject">
    ....some table columns ... 
    </object>


</model>

表格前缀&#39; gsi _&#39;明确设置。

如何修复此错误?

1 个答案:

答案 0 :(得分:1)

我通过一些小改动重新生成了模式。出现错误:未知列&#39; StaticValues.0&#39;在&#39;字段列表&#39; ....不知道为什么会这样做,但是我注意到架构没有引用数字表格列,[我有几列301,304,401等],一旦我做了前缀[ grade_301,grade_304等]并重新生成模式,一切正常。

解决方案=&#39;不要将数值用于表格列名称&#39;