Skip to content

Commit cdb910f

Browse files
committed
Eloquent: require all IDs when filtering a hasMany relationship
1 parent 8215cfb commit cdb910f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/Adapter/EloquentAdapter.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,9 +184,11 @@ public function filterByHasMany($query, HasMany $relationship, array $ids): void
184184
$relatedKey = $relation->getRelated()->getQualifiedKeyName();
185185

186186
if (count($ids)) {
187-
$query->whereHas($property, function ($query) use ($relatedKey, $ids) {
188-
$query->whereIn($relatedKey, $ids);
189-
});
187+
foreach ($ids as $id) {
188+
$query->whereHas($property, function ($query) use ($relatedKey, $id) {
189+
$query->where($relatedKey, $id);
190+
});
191+
}
190192
} else {
191193
$query->whereDoesntHave($property);
192194
}

0 commit comments

Comments
 (0)