>> $byTargetTrust */ $byTargetTrust = []; /** @var FormField $field */ foreach ($schema->fields as $field) { /** @var FormFieldBinding $binding */ foreach ($field->bindings as $binding) { $key = $binding->target_entity . '.' . $binding->target_attribute; $trust = (int) $binding->trust_level; $byTargetTrust[$key][$trust][] = (string) $field->id; } } foreach ($byTargetTrust as $target => $trustGroups) { foreach ($trustGroups as $trust => $fieldIds) { if (count($fieldIds) > 1) { return PublishGuardResult::failed( guardCode: $this->code(), messageKey: 'form_builder_publish_guards.no_ambiguous_trust_levels', offendingFormFieldId: $fieldIds[0], context: [ 'target' => $target, 'trust_level' => $trust, 'form_field_ids' => $fieldIds, ], ); } } } return PublishGuardResult::passed($this->code()); } }