Skip to content

Commit c836f1d

Browse files
ennorehlinglindyhopchris
authored andcommitted
fix!: amend return type to self on query classes (#31)
1 parent f7d2f29 commit c836f1d

File tree

7 files changed

+16
-19
lines changed

7 files changed

+16
-19
lines changed

CHANGELOG.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ All notable changes to this project will be documented in this file. This projec
99

1010
- **BREAKING** Package now requires Laravel 11.
1111
- Minimum PHP version is now `8.2`.
12+
- Use `assert()` within fillable relation field classes rather as an optimisation.
1213

13-
## Unreleased
14-
15-
### Changed
14+
### Fixed
1615

17-
- Use `assert()` within fillable relation field classes rather as an optimisation.
16+
- [#31](https://github.com/laravel-json-api/eloquent/pull/31) **BREAKING** Use `self` as return type on Eloquent query
17+
classes. This is potentially breaking any of these classes have been extended.
1818

1919
## [3.1.0] - 2023-10-29
2020

src/HasQueryParameters.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
use Illuminate\Http\Request;
2323
use LaravelJsonApi\Contracts\Query\QueryParameters as QueryParametersContract;
24-
use LaravelJsonApi\Contracts\Store\Builder as BuilderContract;
2524
use LaravelJsonApi\Core\Query\Custom\ExtendedQueryParameters;
2625

2726
trait HasQueryParameters
@@ -40,7 +39,7 @@ trait HasQueryParameters
4039
/**
4140
* @inheritDoc
4241
*/
43-
public function withRequest(Request $request): BuilderContract
42+
public function withRequest(Request $request): self
4443
{
4544
$this->request = $request;
4645
$this->queryParameters = ExtendedQueryParameters::cast($request);
@@ -51,7 +50,7 @@ public function withRequest(Request $request): BuilderContract
5150
/**
5251
* @inheritDoc
5352
*/
54-
public function withQuery(QueryParametersContract $query): BuilderContract
53+
public function withQuery(QueryParametersContract $query): self
5554
{
5655
$this->queryParameters = ExtendedQueryParameters::cast($query);
5756

@@ -61,7 +60,7 @@ public function withQuery(QueryParametersContract $query): BuilderContract
6160
/**
6261
* @inheritDoc
6362
*/
64-
public function with($includePaths): BuilderContract
63+
public function with($includePaths): self
6564
{
6665
$this->queryParameters->setIncludePaths($includePaths);
6766

@@ -70,13 +69,12 @@ public function with($includePaths): BuilderContract
7069

7170
/**
7271
* @param mixed $countable
73-
* @return BuilderContract
72+
* @return $this
7473
*/
75-
public function withCount($countable): BuilderContract
74+
public function withCount($countable): self
7675
{
7776
$this->queryParameters->setCountable($countable);
7877

7978
return $this;
8079
}
81-
8280
}

src/QueryMorphTo.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public function __construct(Model $model, MorphTo $relation)
5757
/**
5858
* @inheritDoc
5959
*/
60-
public function filter(?array $filters): QueryOneBuilder
60+
public function filter(?array $filters): self
6161
{
6262
$this->queryParameters->setFilters($filters);
6363

src/QueryMorphToMany.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public function __construct(Schema $schema, Model $model, MorphToMany $relation)
7171
/**
7272
* @inheritDoc
7373
*/
74-
public function filter(?array $filters): QueryManyBuilder
74+
public function filter(?array $filters): self
7575
{
7676
$this->queryParameters->setFilters($filters);
7777

@@ -81,7 +81,7 @@ public function filter(?array $filters): QueryManyBuilder
8181
/**
8282
* @inheritDoc
8383
*/
84-
public function sort($fields): QueryManyBuilder
84+
public function sort($fields): self
8585
{
8686
$this->queryParameters->setSortFields($fields);
8787

src/QueryOne.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public function query(): JsonApiBuilder
106106
/**
107107
* @inheritDoc
108108
*/
109-
public function filter(?array $filters): QueryOneBuilderContract
109+
public function filter(?array $filters): self
110110
{
111111
$this->queryParameters->setFilters($filters);
112112

src/QueryToMany.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public function __construct(Schema $schema, Model $model, ToMany $relation)
6868
/**
6969
* @inheritDoc
7070
*/
71-
public function filter(?array $filters): QueryManyBuilder
71+
public function filter(?array $filters): self
7272
{
7373
$this->queryParameters->setFilters($filters);
7474

@@ -78,7 +78,7 @@ public function filter(?array $filters): QueryManyBuilder
7878
/**
7979
* @inheritDoc
8080
*/
81-
public function sort($fields): QueryManyBuilder
81+
public function sort($fields): self
8282
{
8383
$this->queryParameters->setSortFields($fields);
8484

src/QueryToOne.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
use Illuminate\Database\Eloquent\Model;
2323
use Illuminate\Database\Eloquent\Relations\Relation as EloquentRelation;
2424
use LaravelJsonApi\Contracts\Store\QueryOneBuilder;
25-
use LaravelJsonApi\Contracts\Store\QueryOneBuilder as QueryOneBuilderContract;
2625
use LaravelJsonApi\Core\Query\Custom\ExtendedQueryParameters;
2726
use LaravelJsonApi\Eloquent\Fields\Relations\ToOne;
2827
use LaravelJsonApi\Eloquent\QueryBuilder\JsonApiBuilder;
@@ -59,7 +58,7 @@ public function __construct(Model $model, ToOne $relation)
5958
/**
6059
* @inheritDoc
6160
*/
62-
public function filter(?array $filters): QueryOneBuilderContract
61+
public function filter(?array $filters): self
6362
{
6463
$this->queryParameters->setFilters($filters);
6564

0 commit comments

Comments
 (0)