diff --git a/CHANGELOG.md b/CHANGELOG.md index aefdf25..5c72f1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Release Notes for CKEditor for Craft CMS +## 4.0.0-beta.2 - 2024-02-07 + +- Fixed a SQL error that occurred when creating a nested entry on PostgreSQL. + ## 4.0.0-beta.1 - 2024-02-06 - CKEditor now requires Craft CMS 5.0.0-beta.1 or later. diff --git a/src/Field.php b/src/Field.php index faeeb40..56ed4ea 100644 --- a/src/Field.php +++ b/src/Field.php @@ -18,6 +18,7 @@ use craft\ckeditor\events\ModifyConfigEvent; use craft\ckeditor\web\assets\BaseCkeditorPackageAsset; use craft\ckeditor\web\assets\ckeditor\CkeditorAsset; +use craft\db\FixedOrderExpression; use craft\db\Query; use craft\db\Table; use craft\elements\Asset; @@ -54,7 +55,6 @@ use yii\base\InvalidArgumentException; use yii\base\InvalidConfigException; use yii\db\Exception; -use yii\db\Expression; /** * CKEditor field type @@ -956,7 +956,7 @@ private function _entryManagerValueGetter(): Closure $query = $this->createEntryQuery($owner); $query->where(['in', 'elements.id', $entryIds]); if (!empty($entryIds)) { - $query->orderBy(new Expression('FIELD (elements.id, ' . implode(', ', $entryIds) . ')')); + $query->orderBy(new FixedOrderExpression('elements.id', $entryIds, Craft::$app->getDb())); } return $query;