繁体   English   中英

如何在Symfony 3中将整个对象从Controller传递到Twig?

[英]How to pass entire objects from Controller to Twig in Symfony 3?

我想把一个物体传给树枝。 对象是实体的表示,通过

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

这实际上有效,但是如何在Twig的html表中显示其所有值? 我尝试了序列化,但是没有成功,也许我缺少了一些东西,请帮忙。 提前致谢!

更新:我实际上想要实现的是在不知道其键的情况下迭代该对象,

foreach (field in object) print key, value

在您的控制器中:

  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}}

取决于对象内部的字段。

将对象发送到树枝模板后

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

您可以这样做:

{{ object.field }}

相当于在PHP执行$object->getField()

然后在树枝上手动建立清单

您想遍历对象,看看这个主题Twig遍历对象属性

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

这可能有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM