fields as $field) { /** @var FormFieldBinding $binding */ foreach ($field->bindings as $binding) { if (! (bool) $binding->is_identity_key) { continue; } $entity = (string) $binding->target_entity; $countsByEntity[$entity] = ($countsByEntity[$entity] ?? 0) + 1; } } foreach ($countsByEntity as $entity => $count) { if ($count > 1) { return PublishGuardResult::failed( guardCode: $this->code(), messageKey: 'form_builder_publish_guards.max_one_identity_key_per_target_entity', context: ['entity' => $entity, 'count' => $count], ); } } return PublishGuardResult::passed($this->code()); } }