1

我有一个 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>

表前缀“gsi_”是明确设置的。

如何修复此错误?

4

1 回答 1

1

我通过一些小的更改重新生成了架构并得到了一个错误:'字段列表'中的未知列'StaticValues.0' ....不知道为什么会这样做,但我注意到架构没有引用表列那是数字,[我有几列 301、304、401 等],只要我在它们前面加上 [grade_301、grade_304 等] 并重新生成架构,一切就正常了。

解决方案 = '不要对表格列名使用数值'

于 2014-06-28T20:35:48.053 回答