From 2847054a2c9d78836b0900906484f7d6f455a779 Mon Sep 17 00:00:00 2001 From: Michael Shobowale <58557722+shoboske@users.noreply.github.com> Date: Tue, 8 Apr 2025 23:12:28 +0300 Subject: [PATCH 1/2] chore: add support for MSSQL Server --- src/Adapters/MsSqlServerAdapter.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/Adapters/MsSqlServerAdapter.php diff --git a/src/Adapters/MsSqlServerAdapter.php b/src/Adapters/MsSqlServerAdapter.php new file mode 100644 index 0000000..bc357e5 --- /dev/null +++ b/src/Adapters/MsSqlServerAdapter.php @@ -0,0 +1,23 @@ + 'yyyy-MM-dd HH:mm:00', + 'hour' => 'yyyy-MM-dd HH:00', + 'day' => 'yyyy-MM-dd', + 'week' => 'yyyy-ww', + 'month' => 'yyyy-MM', + 'year' => 'yyyy', + default => throw new Error('Invalid interval.'), + }; + + return "FORMAT({$column}, '{$format}')"; + } +} From 2545681220185763ff0954ec93f02edb48b7c18b Mon Sep 17 00:00:00 2001 From: Michael Shobowale <58557722+shoboske@users.noreply.github.com> Date: Tue, 8 Apr 2025 23:15:38 +0300 Subject: [PATCH 2/2] chore: Update Trend.php to use MsSqlServerAdapter class --- src/Trend.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Trend.php b/src/Trend.php index 28ff762..f5ffdc3 100755 --- a/src/Trend.php +++ b/src/Trend.php @@ -5,6 +5,7 @@ use Carbon\CarbonInterface; use Carbon\CarbonPeriod; use Error; +use Flowframe\Trend\Adapters\MsSqlServerAdapter; use Flowframe\Trend\Adapters\MySqlAdapter; use Flowframe\Trend\Adapters\PgsqlAdapter; use Flowframe\Trend\Adapters\SqliteAdapter; @@ -174,6 +175,7 @@ protected function getSqlDate(): string 'mysql', 'mariadb' => new MySqlAdapter(), 'sqlite' => new SqliteAdapter(), 'pgsql' => new PgsqlAdapter(), + 'sqlsrv' => new MsSqlServerAdapter(), default => throw new Error('Unsupported database driver.'), };