join only middle, filters change

This commit is contained in:
Yuri Kuznetsov
2023-02-11 23:18:06 +02:00
parent 16a313f659
commit 4658eb800e
5 changed files with 68 additions and 25 deletions
@@ -3274,7 +3274,11 @@ abstract class BaseQueryComposer implements QueryComposer
$distantTable = $this->toDb($foreignEntityType);
$midAlias = $alias . 'Middle';
$onlyMiddle = $joinParams['onlyMiddle'] ?? false;
$midAlias = $onlyMiddle ?
$alias :
$alias . 'Middle';
$indexKeyList = null;
$indexList = $joinParams['useIndex'] ?? null;
@@ -3339,8 +3343,6 @@ abstract class BaseQueryComposer implements QueryComposer
$sql .= " AND " . implode(" AND ", $joinSqlList);
}
$onlyMiddle = $joinParams['onlyMiddle'] ?? false;
if (!$onlyMiddle) {
$rightKeyColumn = $this->quoteColumn("{$alias}." . $this->toDb($foreignKey));
$middleDistantKeyColumn = $this->quoteColumn("{$midAlias}." . $this->toDb($distantKey));