Skip to content

Commit d50ed2f

Browse files
authored
Fix collection engine mapIds bug (#585)
1 parent 5c1db4e commit d50ed2f

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

src/Engines/CollectionEngine.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,10 @@ protected function ensureSoftDeletesAreHandled($builder, $query)
164164
*/
165165
public function mapIds($results)
166166
{
167-
$results = $results['results'];
167+
$results = array_values($results['results']);
168168

169169
return count($results) > 0
170-
? collect($results)->pluck($results[0]->getKeyName())->values()
170+
? collect($results)->pluck($results[0]->getKeyName())
171171
: collect();
172172
}
173173

tests/Feature/CollectionEngineTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,17 @@ public function test_it_can_paginate_results()
101101

102102
$models = SearchableUserModel::search('laravel')->paginate();
103103
$this->assertCount(2, $models);
104+
105+
$dummyQuery = function ($query) {
106+
$query->where('name', '!=', 'Dummy');
107+
};
108+
$models = SearchableUserModel::search('laravel')->query($dummyQuery)->orderBy('name')->paginate(1, 'page', 1);
109+
$this->assertCount(1, $models);
110+
$this->assertEquals('Abigail Otwell', $models[0]->name);
111+
112+
$models = SearchableUserModel::search('laravel')->query($dummyQuery)->orderBy('name')->paginate(1, 'page', 2);
113+
$this->assertCount(1, $models);
114+
$this->assertEquals('Taylor Otwell', $models[0]->name);
104115
}
105116

106117
public function test_limit_is_applied()

0 commit comments

Comments
 (0)