Как передать целые объекты из контроллера в Twig в Symfony 3?

Я пытаюсь передать объект Твиг. Объект - это представление сущности, полученное через

getDoctrine()->getManager()->getRepository(/*repoName*/)->find(id);

Это действительно работает, но как я могу отобразить все его значения в таблице html в Twig? Я пробовал сериализацию, но безуспешно, возможно, мне что-то не хватает, помогите, пожалуйста. Заранее спасибо!

Обновлено: На самом деле я хочу достичь этого объекта, НЕ зная его ключей, что-то вроде

foreach (field in object) print key, value
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
0
5 054
3

Ответы 3

Как только вы отправите свой объект в шаблон веточки

return $this->render("AppBundle:Records:template.html.twig", [
        "$object" => $object
    ]);

Вы можете просто сделать:

{{ object.field }}

Это соответствует выполнению $object->getField() в PHP

Затем просто создайте свой список вручную в своей ветке

Вы хотите перебрать свой объект, посмотрите на этот предмет Twig перебирает свойства объекта

{% for key, value in my_object|cast_to_array %}

Это может помочь

В вашем контроллере:

  return $this->render('path/template.html.twig', ['entity'=>$entity]);

и в вашем шаблоне (замените your_attribute_name любым атрибутом вашей сущности):

{{ entity.your_attribute_name }}
$object = $em->getDoctrine()->getManager()->getRepository(/*repoName*/)->find(id);      

Вам нужно передать эту переменную в шаблон:

return $this->render('Anypath/your_template.html.twig', ['obj'=>$object]);

чем из веточки:

{{obj.id}} или {{obj.name}}

зависит от ваших полей внутри объекта.

Другие вопросы по теме