Skip to content

Commit 735778d

Browse files
authored
Specify that the query builder returns instances of stdClass (#58150)
1 parent a423678 commit 735778d

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

src/Illuminate/Database/Query/Builder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
class Builder implements BuilderContract
3636
{
37-
/** @use \Illuminate\Database\Concerns\BuildsQueries<object> */
37+
/** @use \Illuminate\Database\Concerns\BuildsQueries<\stdClass> */
3838
use BuildsWhereDateClauses, BuildsQueries, ExplainsQueries, ForwardsCalls, Macroable {
3939
__call as macroCall;
4040
}
@@ -3088,7 +3088,7 @@ public function toRawSql()
30883088
*
30893089
* @param int|string $id
30903090
* @param string|\Illuminate\Contracts\Database\Query\Expression|array<string|\Illuminate\Contracts\Database\Query\Expression> $columns
3091-
* @return object|null
3091+
* @return \stdClass|null
30923092
*/
30933093
public function find($id, $columns = ['*'])
30943094
{
@@ -3103,7 +3103,7 @@ public function find($id, $columns = ['*'])
31033103
* @param mixed $id
31043104
* @param (\Closure(): TValue)|string|\Illuminate\Contracts\Database\Query\Expression|array<string|\Illuminate\Contracts\Database\Query\Expression> $columns
31053105
* @param (\Closure(): TValue)|null $callback
3106-
* @return object|TValue
3106+
* @return \stdClass|TValue
31073107
*/
31083108
public function findOr($id, $columns = ['*'], ?Closure $callback = null)
31093109
{

types/Database/Query/Builder.php

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
/** @param \Illuminate\Database\Eloquent\Builder<\User> $userQuery */
1111
function test(Builder $query, EloquentBuilder $userQuery): void
1212
{
13-
assertType('object|null', $query->first());
14-
assertType('object|null', $query->find(1));
15-
assertType('42|object', $query->findOr(1, fn () => 42));
16-
assertType('42|object', $query->findOr(1, callback: fn () => 42));
13+
assertType('stdClass|null', $query->first());
14+
assertType('stdClass|null', $query->find(1));
15+
assertType('42|stdClass', $query->findOr(1, fn () => 42));
16+
assertType('42|stdClass', $query->findOr(1, callback: fn () => 42));
1717
assertType('Illuminate\Database\Query\Builder', $query->selectSub($userQuery, 'alias'));
1818
assertType('Illuminate\Database\Query\Builder', $query->fromSub($userQuery, 'alias'));
1919
assertType('Illuminate\Database\Query\Builder', $query->from($userQuery, 'alias'));
@@ -33,31 +33,31 @@ function test(Builder $query, EloquentBuilder $userQuery): void
3333
assertType('Illuminate\Database\Query\Builder', $query->unionAll($userQuery));
3434
assertType('int', $query->insertUsing([], $userQuery));
3535
assertType('int', $query->insertOrIgnoreUsing([], $userQuery));
36-
assertType('Illuminate\Support\LazyCollection<int, object>', $query->lazy());
37-
assertType('Illuminate\Support\LazyCollection<int, object>', $query->lazyById());
38-
assertType('Illuminate\Support\LazyCollection<int, object>', $query->lazyByIdDesc());
36+
assertType('Illuminate\Support\LazyCollection<int, stdClass>', $query->lazy());
37+
assertType('Illuminate\Support\LazyCollection<int, stdClass>', $query->lazyById());
38+
assertType('Illuminate\Support\LazyCollection<int, stdClass>', $query->lazyByIdDesc());
3939

4040
$query->chunk(1, function ($users, $page) {
41-
assertType('Illuminate\Support\Collection<int, object>', $users);
41+
assertType('Illuminate\Support\Collection<int, stdClass>', $users);
4242
assertType('int', $page);
4343
});
4444
$query->chunkById(1, function ($users, $page) {
45-
assertType('Illuminate\Support\Collection<int, object>', $users);
45+
assertType('Illuminate\Support\Collection<int, stdClass>', $users);
4646
assertType('int', $page);
4747
});
4848
$query->chunkMap(function ($users) {
49-
assertType('object', $users);
49+
assertType('stdClass', $users);
5050
});
5151
$query->chunkByIdDesc(1, function ($users, $page) {
52-
assertType('Illuminate\Support\Collection<int, object>', $users);
52+
assertType('Illuminate\Support\Collection<int, stdClass>', $users);
5353
assertType('int', $page);
5454
});
5555
$query->each(function ($users, $page) {
56-
assertType('object', $users);
56+
assertType('stdClass', $users);
5757
assertType('int', $page);
5858
});
5959
$query->eachById(function ($users, $page) {
60-
assertType('object', $users);
60+
assertType('stdClass', $users);
6161
assertType('int', $page);
6262
});
6363
assertType('Illuminate\Database\Query\Builder', $query->pipe(function () {

0 commit comments

Comments
 (0)