Skip to content

Commit a45e10a

Browse files
norbedg
authored andcommitted
SqlBuilder: Fixed loading arguments for left join conditions (#224)
1 parent d81e35e commit a45e10a

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

src/Database/Table/SqlBuilder.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,9 @@ protected function getSortedJoins(string $table, &$leftJoinDependency, &$tableJo
585585
}
586586
$finalJoins += $tableJoins[$table];
587587
$key = isset($this->aliases[$table]) ? $table : $this->reservedTableNames[$table];
588+
if ($key[0] === '.') {
589+
$key = substr($key, 1);
590+
}
588591
$this->parameters['joinConditionSorted'] += isset($this->parameters['joinCondition'][$key])
589592
? [$table => $this->parameters['joinCondition'][$key]]
590593
: [];

tests/Database/Table/SqlBuilder.parseJoinConditions().phpt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,10 @@ test(function () use ($context, $driver) {
8989
}
9090
Assert::same([2, 'private'], $sqlBuilder->getParameters());
9191
});
92+
93+
test(function () use ($context) {
94+
$sqlBuilder = new SqlBuilderMock('book', $context);
95+
$sqlBuilder->addJoinCondition('next_volume.author', 'next_volume.author.born >', '2000-01-01');
96+
97+
Assert::same(['2000-01-01'], $sqlBuilder->getParameters());
98+
});

0 commit comments

Comments
 (0)