From b31ddd1b251a3b17b1e47faf72f448cd87d51793 Mon Sep 17 00:00:00 2001 From: Magnus Hauge Bakke Date: Sat, 17 Feb 2024 00:09:07 +0100 Subject: [PATCH] Add type hinting for lateral join methods --- src/Illuminate/Database/Query/Builder.php | 4 ++-- src/Illuminate/Database/Query/Grammars/Grammar.php | 2 +- src/Illuminate/Database/Query/Grammars/MySqlGrammar.php | 2 +- src/Illuminate/Database/Query/Grammars/PostgresGrammar.php | 2 +- src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php index 85c3f1ba6c37..5e86bd0acff5 100755 --- a/src/Illuminate/Database/Query/Builder.php +++ b/src/Illuminate/Database/Query/Builder.php @@ -594,7 +594,7 @@ public function joinSub($query, $as, $first, $operator = null, $second = null, $ * @param string $type * @return $this */ - public function joinLateral($query, $as, $type = 'inner') + public function joinLateral($query, string $as, string $type = 'inner'): static { [$query, $bindings] = $this->createSub($query); @@ -614,7 +614,7 @@ public function joinLateral($query, $as, $type = 'inner') * @param string $as * @return $this */ - public function leftJoinLateral($query, $as) + public function leftJoinLateral($query, string $as): static { return $this->joinLateral($query, $as, 'left'); } diff --git a/src/Illuminate/Database/Query/Grammars/Grammar.php b/src/Illuminate/Database/Query/Grammars/Grammar.php index 3768942e6b77..05aa1aa8d0ed 100755 --- a/src/Illuminate/Database/Query/Grammars/Grammar.php +++ b/src/Illuminate/Database/Query/Grammars/Grammar.php @@ -199,7 +199,7 @@ protected function compileJoins(Builder $query, $joins) * * @throws \RuntimeException */ - public function joinLateral(JoinClause $join, string $expression) + public function joinLateral(JoinClause $join, string $expression): string { throw new RuntimeException('This database engine does not support lateral joins.'); } diff --git a/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php b/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php index 745ece3e4bd4..42f7108bf49e 100755 --- a/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php +++ b/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php @@ -241,7 +241,7 @@ protected function compileUpdateColumns(Builder $query, array $values) * @param string $expression * @return string */ - public function joinLateral(JoinClause $join, string $expression) + public function joinLateral(JoinClause $join, string $expression): string { return trim("{$join->type} join lateral {$expression} on true"); } diff --git a/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php b/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php index 1e1308ed6831..9ba819a547df 100755 --- a/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php +++ b/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php @@ -393,7 +393,7 @@ protected function compileUpdateColumns(Builder $query, array $values) * @param string $expression * @return string */ - public function joinLateral(JoinClause $join, string $expression) + public function joinLateral(JoinClause $join, string $expression): string { return trim("{$join->type} join lateral {$expression} on true"); } diff --git a/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php b/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php index 9ead6d18b99f..ca7e84adc595 100755 --- a/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php +++ b/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php @@ -394,7 +394,7 @@ protected function compileUpdateWithJoins(Builder $query, $table, $columns, $whe * @param string $expression * @return string */ - public function joinLateral(JoinClause $join, string $expression) + public function joinLateral(JoinClause $join, string $expression): string { $type = $join->type == 'left' ? 'outer' : 'cross';