From 467687fd0f91059985fa067e1fa5a5e2de120067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sun, 11 Sep 2022 23:41:31 +0200 Subject: [PATCH] Make filters work on default MySQL servers to by removing the ONLY_FULL_GROUP_BY sql mode --- .../SetSQLMode/SetSQLModeMiddlewareDriver.php | 24 +++++++++++++++++++ .../SetSQLModeMiddlewareWrapper.php | 18 ++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/Doctrine/SetSQLMode/SetSQLModeMiddlewareDriver.php create mode 100644 src/Doctrine/SetSQLMode/SetSQLModeMiddlewareWrapper.php diff --git a/src/Doctrine/SetSQLMode/SetSQLModeMiddlewareDriver.php b/src/Doctrine/SetSQLMode/SetSQLModeMiddlewareDriver.php new file mode 100644 index 00000000..ac36827c --- /dev/null +++ b/src/Doctrine/SetSQLMode/SetSQLModeMiddlewareDriver.php @@ -0,0 +1,24 @@ +getDatabasePlatform() instanceof AbstractMySQLPlatform) { + //1002 is \PDO::MYSQL_ATTR_INIT_COMMAND constant value + $params['driverOptions'][1002] = 'SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode, \'ONLY_FULL_GROUP_BY\', \'\'))'; + } + + return parent::connect($params); + } +} \ No newline at end of file diff --git a/src/Doctrine/SetSQLMode/SetSQLModeMiddlewareWrapper.php b/src/Doctrine/SetSQLMode/SetSQLModeMiddlewareWrapper.php new file mode 100644 index 00000000..4dd32875 --- /dev/null +++ b/src/Doctrine/SetSQLMode/SetSQLModeMiddlewareWrapper.php @@ -0,0 +1,18 @@ +