@@ -1292,7 +1292,6 @@ private function removeDuplicateIndexes(array $indexes): array
12921292 private function generateFindByDaoCodeForIndex (Index $ index , string $ beanNamespace , string $ beanClassName ): ?MethodGenerator
12931293 {
12941294 $ columns = $ index ->getColumns ();
1295- $ usedBeans = [];
12961295
12971296 /**
12981297 * The list of elements building this index (expressed as columns or foreign keys)
@@ -1318,42 +1317,23 @@ private function generateFindByDaoCodeForIndex(Index $index, string $beanNamespa
13181317 }
13191318
13201319 $ parameters = [];
1321- //$functionParameters = [];
13221320 $ first = true ;
13231321 /** @var AbstractBeanPropertyDescriptor $element */
13241322 foreach ($ elements as $ element ) {
13251323 $ 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 ()) ? '? ' : '' ;
13331326 $ parameterType .= $ element ->getPhpType ();
13341327 $ parameter ->setType ($ parameterType );
1335- if (!$ first && !($ element ->isCompulsory () && $ index ->isUnique ())) {
1328+
1329+ if (!$ first && !$ index ->isUnique ()) {
13361330 $ parameter ->setDefaultValue (null );
13371331 }
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+
13501333 $ parameters [] = $ parameter ;
1334+ $ first = false ;
13511335 }
13521336
1353- //$functionParametersString = implode(', ', $functionParameters);
1354-
1355- $ count = 0 ;
1356-
13571337 $ params = [];
13581338 $ filterArrayCode = '' ;
13591339 $ commentArguments = [];
@@ -1375,12 +1355,11 @@ private function generateFindByDaoCodeForIndex(Index $index, string $beanNamespa
13751355 } elseif ($ element instanceof ObjectBeanPropertyDescriptor) {
13761356 $ foreignKey = $ element ->getForeignKey ();
13771357 $ columns = array_combine ($ foreignKey ->getUnquotedLocalColumns (), $ foreignKey ->getUnquotedForeignColumns ());
1378- ++$ count ;
13791358 $ foreignTable = $ this ->schema ->getTable ($ foreignKey ->getForeignTableName ());
13801359 foreach ($ columns as $ localColumn => $ foreignColumn ) {
13811360 // 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.
13821361 $ 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 () )) {
13841363 // First parameter for index is not nullable
13851364 $ filterArrayCode .= ' ' .var_export ($ localColumn , true ).' => ' .$ element ->getSafeVariableName ().'-> ' .$ targetedElement ->getGetterName ()."(), \n" ;
13861365 } else {
@@ -1395,9 +1374,6 @@ private function generateFindByDaoCodeForIndex(Index $index, string $beanNamespa
13951374 }
13961375 }
13971376
1398- //$paramsString = implode("\n", $params);
1399-
1400-
14011377 $ methodName = $ this ->namingStrategy ->getFindByIndexMethodName ($ index , $ elements );
14021378
14031379 $ method = new MethodGenerator ($ methodName );
0 commit comments