Yii2 select2数据库异常绑定变量个数与token个数不匹配

Yii2 select2 database exception number of bound variables does not match number of tokens

当我在我的 yii 2 应用程序中使用 select2 小部件时,它会导致以下错误:

SQLSTATE [HY093]: Invalid parameter number: number of bound variables does not match number of tokens
The SQL being executed was: SELECT * FROM `page` WHERE `page`.`id`=6

执行的 sql 没有在页面模型的查找函数中应用我的覆盖,如下所示:

public static function find()
{
    return parent::find()->where(['websiteId' => Yii::$app->website->id]);
}

调试堆栈提示我使用 ActiveRecord 中第 333 行的 beforeInsert() 函数和此代码:

$this->node->refresh();

一切似乎都很好,那么有什么问题吗?

我也遇到了同样的问题,好像是framework的bug! 只需找到 refresh() 函数并更改 vendor/yiisoft/yii2/db/ActiveRecord.php 文件

中的以下行
$query->where($pk);

$query->andWhere($pk);