@@ -1292,7 +1292,6 @@ private function removeDuplicateIndexes(array $indexes): array
1292
1292
private function generateFindByDaoCodeForIndex (Index $ index , string $ beanNamespace , string $ beanClassName ): ?MethodGenerator
1293
1293
{
1294
1294
$ columns = $ index ->getColumns ();
1295
- $ usedBeans = [];
1296
1295
1297
1296
/**
1298
1297
* The list of elements building this index (expressed as columns or foreign keys)
@@ -1318,42 +1317,23 @@ private function generateFindByDaoCodeForIndex(Index $index, string $beanNamespa
1318
1317
}
1319
1318
1320
1319
$ parameters = [];
1321
- //$functionParameters = [];
1322
1320
$ first = true ;
1323
1321
/** @var AbstractBeanPropertyDescriptor $element */
1324
1322
foreach ($ elements as $ element ) {
1325
1323
$ parameter = new ParameterGenerator (ltrim ($ element ->getSafeVariableName (), '$ ' ));
1326
- if (!$ first && !($ element ->isCompulsory () && $ index ->isUnique ())) {
1327
- $ parameterType = '? ' ;
1328
- //$functionParameter = '?';
1329
- } else {
1330
- $ parameterType = '' ;
1331
- //$functionParameter = '';
1332
- }
1324
+
1325
+ $ parameterType = !$ first && (!$ index ->isUnique () || !$ element ->isCompulsory ()) ? '? ' : '' ;
1333
1326
$ parameterType .= $ element ->getPhpType ();
1334
1327
$ parameter ->setType ($ parameterType );
1335
- if (!$ first && !($ element ->isCompulsory () && $ index ->isUnique ())) {
1328
+
1329
+ if (!$ first && !$ index ->isUnique ()) {
1336
1330
$ parameter ->setDefaultValue (null );
1337
1331
}
1338
- //$functionParameter .= $element->getPhpType();
1339
- $ elementClassName = $ element ->getClassName ();
1340
- if ($ elementClassName ) {
1341
- $ usedBeans [] = $ beanNamespace .'\\' .$ elementClassName ;
1342
- }
1343
- //$functionParameter .= ' '.$element->getVariableName();
1344
- if ($ first ) {
1345
- $ first = false ;
1346
- } /*else {
1347
- $functionParameter .= ' = null';
1348
- }*/
1349
- //$functionParameters[] = $functionParameter;
1332
+
1350
1333
$ parameters [] = $ parameter ;
1334
+ $ first = false ;
1351
1335
}
1352
1336
1353
- //$functionParametersString = implode(', ', $functionParameters);
1354
-
1355
- $ count = 0 ;
1356
-
1357
1337
$ params = [];
1358
1338
$ filterArrayCode = '' ;
1359
1339
$ commentArguments = [];
@@ -1375,12 +1355,11 @@ private function generateFindByDaoCodeForIndex(Index $index, string $beanNamespa
1375
1355
} elseif ($ element instanceof ObjectBeanPropertyDescriptor) {
1376
1356
$ foreignKey = $ element ->getForeignKey ();
1377
1357
$ columns = array_combine ($ foreignKey ->getUnquotedLocalColumns (), $ foreignKey ->getUnquotedForeignColumns ());
1378
- ++$ count ;
1379
1358
$ foreignTable = $ this ->schema ->getTable ($ foreignKey ->getForeignTableName ());
1380
1359
foreach ($ columns as $ localColumn => $ foreignColumn ) {
1381
1360
// TODO: a foreign key could point to another foreign key. In this case, there is no getter for the pointed column. We don't support this case.
1382
1361
$ targetedElement = new ScalarBeanPropertyDescriptor ($ foreignTable , $ foreignTable ->getColumn ($ foreignColumn ), $ this ->namingStrategy , $ this ->annotationParser );
1383
- if ($ first || $ element ->isCompulsory () && $ index ->isUnique ()) {
1362
+ if ($ first || ( $ element ->isCompulsory () && $ index ->isUnique () )) {
1384
1363
// First parameter for index is not nullable
1385
1364
$ filterArrayCode .= ' ' .var_export ($ localColumn , true ).' => ' .$ element ->getSafeVariableName ().'-> ' .$ targetedElement ->getGetterName ()."(), \n" ;
1386
1365
} else {
@@ -1395,9 +1374,6 @@ private function generateFindByDaoCodeForIndex(Index $index, string $beanNamespa
1395
1374
}
1396
1375
}
1397
1376
1398
- //$paramsString = implode("\n", $params);
1399
-
1400
-
1401
1377
$ methodName = $ this ->namingStrategy ->getFindByIndexMethodName ($ index , $ elements );
1402
1378
1403
1379
$ method = new MethodGenerator ($ methodName );
0 commit comments