- {% for item in entity_to_array(entity) %}
+ {% for item in entity_to_array(entity, false, ['id']) %}
{{ item.name|trans }}
{{ item.value }}
{% endfor %}
diff --git a/src/core/Twig/Extension/EntityExtension.php b/src/core/Twig/Extension/EntityExtension.php
index 466cf79..92152f7 100644
--- a/src/core/Twig/Extension/EntityExtension.php
+++ b/src/core/Twig/Extension/EntityExtension.php
@@ -33,7 +33,7 @@ class EntityExtension extends AbstractExtension
];
}
- public function toArray(EntityInterface $entity): array
+ public function toArray(EntityInterface $entity, bool $keepIterable = true, array $except = []): array
{
$metaData = $this->entityManager->getClassMetadata(get_class($entity));
$array = [];
@@ -42,6 +42,14 @@ class EntityExtension extends AbstractExtension
try {
$value = $this->propertyAccessor->getValue($entity, $field);
+ if (in_array($field, $except)) {
+ continue;
+ }
+
+ if (is_iterable($value) && !$keepIterable) {
+ continue;
+ }
+
if (is_object($value)) {
$value = (string) $value;
}