diff --git a/src/EloquentBuilderTrait.php b/src/EloquentBuilderTrait.php index d5a3d89..4df1d12 100644 --- a/src/EloquentBuilderTrait.php +++ b/src/EloquentBuilderTrait.php @@ -108,9 +108,9 @@ protected function applyFilter(Builder $queryBuilder, array $filter, $or = false // Destructure Shorthand Filtering Syntax if filter is Shorthand if (! array_key_exists('key', $filter) && count($filter) >= 3) { $filter = [ - 'key' => ($filter[0] ?: null), - 'operator' => ($filter[1] ?: null), - 'value' => ($filter[2] ?: null), + 'key' => (array_key_exists(0, $filter) ? $filter[0] : null), + 'operator' => (array_key_exists(1, $filter) ? $filter[1] : null), + 'value' => (array_key_exists(2, $filter) ? $filter[2] : null), 'not' => (array_key_exists(3, $filter) ? $filter[3] : null), ]; } @@ -281,7 +281,7 @@ private function joinRelatedModelIfExists(Builder $queryBuilder, $key) if ($relation instanceof BelongsTo) { $queryBuilder->join( $relation->getRelated()->getTable(), - $relation->getQualifiedForeignKey(), + $relation->getQualifiedForeignKeyName(), '=', $relation->getQualifiedOwnerKeyName(), $type @@ -298,7 +298,7 @@ private function joinRelatedModelIfExists(Builder $queryBuilder, $key) $relation->getRelated()->getTable(), $relation->getRelated()->getTable().'.'.$relation->getRelated()->getKeyName(), '=', - $relation->getQualifiedRelatedKeyName(), + $relation->getQualifiedRelatedPivotKeyName(), $type ); } else {