lateral join

This commit is contained in:
Yuri Kuznetsov
2025-06-07 20:34:31 +03:00
parent d35f00b2cb
commit 6aebcaed97
4 changed files with 87 additions and 9 deletions
@@ -3140,6 +3140,18 @@ abstract class BaseQueryComposer implements QueryComposer
$value = $right;
if ($isNotValue) {
if (is_null($value)) {
return $sql;
}
$rightPart = $this->convertComplexExpression($entity, $value, false, $params);
$sql .= " " . $operator . " " . $rightPart;
return $sql;
}
if (is_null($value)) {
if ($operator === '=') {
$sql .= " IS NULL";
@@ -3150,14 +3162,6 @@ abstract class BaseQueryComposer implements QueryComposer
return $sql;
}
if ($isNotValue) {
$rightPart = $this->convertComplexExpression($entity, $value, false, $params);
$sql .= " " . $operator . " " . $rightPart;
return $sql;
}
$sql .= " " . $operator . " " . $this->quote($value);
return $sql;
@@ -3206,7 +3210,13 @@ abstract class BaseQueryComposer implements QueryComposer
$aliasPart = $this->quoteIdentifier($alias);
$sql = $prefixPart . "JOIN $targetPart AS $aliasPart";
$sql = $prefixPart . "JOIN ";
if (!empty($joinParams['isLateral'])) {
$sql .= "LATERAL ";
}
$sql .= "$targetPart AS $aliasPart";
if ($conditions === []) {
return $sql;