diff --git a/src/QueryDataTable.php b/src/QueryDataTable.php index 757d0e46..6931d385 100644 --- a/src/QueryDataTable.php +++ b/src/QueryDataTable.php @@ -164,7 +164,7 @@ public function prepareCountQuery(): QueryBuilder $builder = clone $this->query; if ($this->isComplexQuery($builder)) { - $builder->select(DB::raw('1')); + $builder->select(DB::raw('1 as dt_row_count')); if ($this->ignoreSelectInCountQuery || ! $this->isComplexQuery($builder)) { return $this->getConnection() ->query() diff --git a/tests/Unit/QueryDataTableTest.php b/tests/Unit/QueryDataTableTest.php index e296b581..177b6796 100644 --- a/tests/Unit/QueryDataTableTest.php +++ b/tests/Unit/QueryDataTableTest.php @@ -44,7 +44,8 @@ public function test_complex_query_use_select_in_count() ->orderBy('created_at') ->select('id'), ]) - ->orderBy(DB::table('posts')->whereColumn('posts.user_id', 'users.id')->orderBy('created_at')->select('created_at') + ->orderBy( + DB::table('posts')->whereColumn('posts.user_id', 'users.id')->orderBy('created_at')->select('created_at') ) ); @@ -64,7 +65,8 @@ public function test_complex_query_can_ignore_select_in_count() ->orderBy('created_at') ->select('id'), ]) - ->orderBy(DB::table('posts')->whereColumn('posts.user_id', 'users.id')->orderBy('created_at')->select('created_at') + ->orderBy( + DB::table('posts')->whereColumn('posts.user_id', 'users.id')->orderBy('created_at')->select('created_at') ) )->ignoreSelectsInCountQuery(); @@ -134,6 +136,6 @@ public function assertQueryHasNoSelect($expected, $query) { $sql = $query->toSql(); - $this->assertSame($expected, Str::startsWith($sql, 'select * from (select 1 from'), "'{$sql}' is not wrapped"); + $this->assertSame($expected, Str::startsWith($sql, 'select * from (select 1 as dt_row_count from'), "'{$sql}' is not wrapped"); } }