列名必须是字符串或数组。 yii

Column name must be either a string or an array. yii

当我更新记录时它显示上面的错误。

message id seems like this - 1536126282209770000

$q = new CDbCriteria(array(
            'condition' =>  'tokenId = :btokenid',
            'params' => array(
                ':btokenid' => $tokenId,
            ),
        ));

        $record = self::model()->find($q);

        $record->messageId = $messageId;
            if (!$record->save()) {
                $_errors = current($record->getErrors());
                throw new Exception($_errors[0]);
            }

我为 table 添加了 2 个主键。

table structure:

添加主键后table需要刷新缓存

刷新数据库缓存: 在架构

中加载应用程序的所有 table

Yii::app()->db->schema->getTables();

清除所有加载的缓存 tables

Yii::app()->db->schema->refresh();

如果只想刷新一个table,也可以:

Yii::app()->db->schema->getTable('tablename', true);

之后就正常了