@@ -64,7 +64,6 @@ public function join(FieldNode $fieldNode, AbstractCollection $collection, Resol
64
64
* @param FieldNode $fieldNode
65
65
* @param ResolveInfo $resolveInfo
66
66
* @return string[]
67
- * @SuppressWarnings(PHPMD.CyclomaticComplexity)
68
67
*/
69
68
public function getQueryFields (FieldNode $ fieldNode , ResolveInfo $ resolveInfo ): array
70
69
{
@@ -87,10 +86,11 @@ public function getQueryFields(FieldNode $fieldNode, ResolveInfo $resolveInfo):
87
86
}
88
87
} else {
89
88
$ selectedFields [] = $ field ->name ->value ;
90
- if ($ resolveInfo ->fieldName === self ::REQUEST_FIELD_NAME
91
- && $ field ->name ->value === CategoryInterface::KEY_PRODUCT_COUNT ) {
92
- $ selectedFields [] = 'is_anchor ' ;
93
- }
89
+ $ selectedFields = $ this ->addIsAnchoredAttributeToSelectedFiled (
90
+ $ resolveInfo ,
91
+ $ field ,
92
+ $ selectedFields
93
+ );
94
94
}
95
95
}
96
96
if ($ fragmentFields ) {
@@ -178,4 +178,21 @@ private function setSelectionsForFieldNode(FieldNode $fieldNode, array $selected
178
178
{
179
179
$ this ->queryFields [$ fieldNode ->name ->value ][$ fieldNode ->name ->loc ->start ] = $ selectedFields ;
180
180
}
181
+
182
+ /**
183
+ * Add `is_anchor` attribute to selected field
184
+ *
185
+ * @param $resolveInfo
186
+ * @param $field
187
+ * @param $selectedFields
188
+ * @return array
189
+ */
190
+ private function addIsAnchoredAttributeToSelectedFiled ($ resolveInfo , $ field , $ selectedFields ): array
191
+ {
192
+ if ($ resolveInfo ->fieldName === self ::REQUEST_FIELD_NAME
193
+ && $ field ->name ->value === CategoryInterface::KEY_PRODUCT_COUNT ) {
194
+ $ selectedFields [] = 'is_anchor ' ;
195
+ }
196
+ return $ selectedFields ;
197
+ }
181
198
}
0 commit comments