Code Duplication    Length = 26-26 lines in 2 locations

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

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