From 5b0a3acff9dbe34e41c26375040aa0853d94b000 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Sun, 17 Jan 2021 12:49:27 +1030 Subject: [PATCH] hotfix --- src/Adapter/EloquentAdapter.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Adapter/EloquentAdapter.php b/src/Adapter/EloquentAdapter.php index c992f74..7e1db1a 100644 --- a/src/Adapter/EloquentAdapter.php +++ b/src/Adapter/EloquentAdapter.php @@ -15,6 +15,7 @@ use Closure; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\Relations\HasOneThrough; use InvalidArgumentException; use Tobyz\JsonApiServer\Schema\Attribute; use Tobyz\JsonApiServer\Schema\HasMany; @@ -176,8 +177,9 @@ class EloquentAdapter implements AdapterInterface public function filterByHasOne($query, HasOne $relationship, array $ids): void { $relation = $this->getEloquentRelation($query->getModel(), $relationship); + $column = $relation instanceof HasOneThrough ? $relation->getQualifiedParentKeyName() : $relation->getQualifiedForeignKeyName(); - $query->whereIn($relation->getQualifiedForeignKeyName(), $ids); + $query->whereIn($column, $ids); } public function filterByHasMany($query, HasMany $relationship, array $ids): void