|
@@ 406-417 (lines=12) @@
|
| 403 |
|
$baseTableAlias = $this->getSQLTableAlias($this->class->name); |
| 404 |
|
|
| 405 |
|
// INNER JOIN parent tables |
| 406 |
|
foreach ($this->class->parentClasses as $parentClassName) { |
| 407 |
|
$conditions = []; |
| 408 |
|
$tableAlias = $this->getSQLTableAlias($parentClassName); |
| 409 |
|
$parentClass = $this->em->getClassMetadata($parentClassName); |
| 410 |
|
$joinSql .= ' INNER JOIN ' . $this->quoteStrategy->getTableName($parentClass, $this->platform) . ' ' . $tableAlias . ' ON '; |
| 411 |
|
|
| 412 |
|
foreach ($identifierColumns as $idColumn) { |
| 413 |
|
$conditions[] = $baseTableAlias . '.' . $idColumn . ' = ' . $tableAlias . '.' . $idColumn; |
| 414 |
|
} |
| 415 |
|
|
| 416 |
|
$joinSql .= implode(' AND ', $conditions); |
| 417 |
|
} |
| 418 |
|
|
| 419 |
|
return parent::getLockTablesSql($lockMode) . $joinSql; |
| 420 |
|
} |
|
@@ 583-595 (lines=13) @@
|
| 580 |
|
$identifierColumn = $this->class->getIdentifierColumnNames(); |
| 581 |
|
|
| 582 |
|
// INNER JOIN parent tables |
| 583 |
|
foreach ($this->class->parentClasses as $parentClassName) { |
| 584 |
|
$conditions = []; |
| 585 |
|
$parentClass = $this->em->getClassMetadata($parentClassName); |
| 586 |
|
$tableAlias = $this->getSQLTableAlias($parentClassName); |
| 587 |
|
$joinSql .= ' INNER JOIN ' . $this->quoteStrategy->getTableName($parentClass, $this->platform) . ' ' . $tableAlias . ' ON '; |
| 588 |
|
|
| 589 |
|
|
| 590 |
|
foreach ($identifierColumn as $idColumn) { |
| 591 |
|
$conditions[] = $baseTableAlias . '.' . $idColumn . ' = ' . $tableAlias . '.' . $idColumn; |
| 592 |
|
} |
| 593 |
|
|
| 594 |
|
$joinSql .= implode(' AND ', $conditions); |
| 595 |
|
} |
| 596 |
|
|
| 597 |
|
// OUTER JOIN sub tables |
| 598 |
|
foreach ($this->class->subClasses as $subClassName) { |
|
@@ 598-609 (lines=12) @@
|
| 595 |
|
} |
| 596 |
|
|
| 597 |
|
// OUTER JOIN sub tables |
| 598 |
|
foreach ($this->class->subClasses as $subClassName) { |
| 599 |
|
$conditions = []; |
| 600 |
|
$subClass = $this->em->getClassMetadata($subClassName); |
| 601 |
|
$tableAlias = $this->getSQLTableAlias($subClassName); |
| 602 |
|
$joinSql .= ' LEFT JOIN ' . $this->quoteStrategy->getTableName($subClass, $this->platform) . ' ' . $tableAlias . ' ON '; |
| 603 |
|
|
| 604 |
|
foreach ($identifierColumn as $idColumn) { |
| 605 |
|
$conditions[] = $baseTableAlias . '.' . $idColumn . ' = ' . $tableAlias . '.' . $idColumn; |
| 606 |
|
} |
| 607 |
|
|
| 608 |
|
$joinSql .= implode(' AND ', $conditions); |
| 609 |
|
} |
| 610 |
|
|
| 611 |
|
return $joinSql; |
| 612 |
|
} |