Code Duplication    Length = 26-26 lines in 2 locations

lib/Doctrine/ORM/Query/SqlWalker.php 2 locations

@@ 1389-1414 (lines=26) @@
1386
                $sqlParts = [];
1387
1388
                // Select all fields from the queried class
1389
                foreach ($class->fieldMappings as $fieldName => $mapping) {
1390
                    if ($partialFieldSet && ! in_array($fieldName, $partialFieldSet)) {
1391
                        continue;
1392
                    }
1393
1394
                    $tableName = (isset($mapping['inherited']))
1395
                        ? $this->em->getClassMetadata($mapping['inherited'])->getTableName()
1396
                        : $class->getTableName();
1397
1398
                    $sqlTableAlias    = $this->getSQLTableAlias($tableName, $dqlAlias);
1399
                    $columnAlias      = $this->getSQLColumnAlias($mapping['columnName']);
1400
                    $quotedColumnName = $this->quoteStrategy->getColumnName($fieldName, $class, $this->platform);
1401
1402
                    $col = $sqlTableAlias . '.' . $quotedColumnName;
1403
1404
                    if (isset($mapping['requireSQLConversion'])) {
1405
                        $type = Type::getType($mapping['type']);
1406
                        $col = $type->convertToPHPValueSQL($col, $this->platform);
1407
                    }
1408
1409
                    $sqlParts[] = $col . ' AS '. $columnAlias;
1410
1411
                    $this->scalarResultAliasMap[$resultAlias][] = $columnAlias;
1412
1413
                    $this->rsm->addFieldResult($dqlAlias, $columnAlias, $fieldName, $class->name);
1414
                }
1415
1416
                // Add any additional fields of subclasses (excluding inherited fields)
1417
                // 1) on Single Table Inheritance: always, since its marginal overhead
@@ 1421-1446 (lines=26) @@
1418
                // 2) on Class Table Inheritance only if partial objects are disallowed,
1419
                //    since it requires outer joining subtables.
1420
                if ($class->isInheritanceTypeSingleTable() || ! $this->query->getHint(Query::HINT_FORCE_PARTIAL_LOAD)) {
1421
                    foreach ($class->subClasses as $subClassName) {
1422
                        $subClass      = $this->em->getClassMetadata($subClassName);
1423
                        $sqlTableAlias = $this->getSQLTableAlias($subClass->getTableName(), $dqlAlias);
1424
1425
                        foreach ($subClass->fieldMappings as $fieldName => $mapping) {
1426
                            if (isset($mapping['inherited']) || ($partialFieldSet && !in_array($fieldName, $partialFieldSet))) {
1427
                                continue;
1428
                            }
1429
1430
                            $columnAlias      = $this->getSQLColumnAlias($mapping['columnName']);
1431
                            $quotedColumnName = $this->quoteStrategy->getColumnName($fieldName, $subClass, $this->platform);
1432
1433
                            $col = $sqlTableAlias . '.' . $quotedColumnName;
1434
1435
                            if (isset($mapping['requireSQLConversion'])) {
1436
                                $type = Type::getType($mapping['type']);
1437
                                $col = $type->convertToPHPValueSQL($col, $this->platform);
1438
                            }
1439
1440
                            $sqlParts[] = $col . ' AS ' . $columnAlias;
1441
1442
                            $this->scalarResultAliasMap[$resultAlias][] = $columnAlias;
1443
1444
                            $this->rsm->addFieldResult($dqlAlias, $columnAlias, $fieldName, $subClassName);
1445
                        }
1446
                    }
1447
                }
1448
1449
                $sql .= implode(', ', $sqlParts);