在twig Symfony3中获取for循环内的数据

时间:2017-01-20 04:12:00

标签: php symfony

我是Symfony的初学者,如何使用symfony在我的sub_agent.companyId表格中获取company的值?

控制器:

public function indexAction(Request $request) {

    $em = $this->getDoctrine()->getManager();

    $sub_agents = $this->getDoctrine()
        ->getRepository('AppBundle:Sub_agent')
        ->findAll();

    return $this->render('Backend/Sub_agent/index.html.twig', array(
        'sub_agents' => $sub_agents
    ));
}

模板:index.html.twig

{% for sub_agent in sub_agents %}

{{ sub_agent.companyId }} // Get the data of this companyId in my company table

{% endfor %}

3 个答案:

答案 0 :(得分:0)

试试这个:

{% for sub_agent in sub_agents %}
 {{ sub_agent.companyId|e }}
{% endfor %}

参考:http://twig.sensiolabs.org/doc/2.x/tags/for.html#iterating-over-keys

答案 1 :(得分:0)

我认为公司与sub_agent实体有关系吗?

如果它是一个单独的实体,你应该首先获得公司,之后获得公司实体的身份

试试这个:

{% for sub_agent in sub_agents %}
   {{ sub_agent.company.id }} 
{% endfor %}

答案 2 :(得分:-1)

使用你的吸气剂。不确定你的实体是什么叫它。像这样:

{% for sub_agent in sub_agents %}
   {{ sub_agent.getId }}
{% endfor %}

它应该就这么简单,因为你通常不能直接调用属性,所以只需使用你的Entity setters / getters来获取/设置它们。

编辑#2 - 基于你没有提到你有一个名为Company的单独实体

{% for sub_agent in sub_agents %}
   {{ sub_agent.getCompany.getId }}
{% endfor %}

以上假设sub_agent实体具有$company属性,而getter称为getCompany()。然后getCompany()返回Company个对象,然后Company方法getId()返回Company ID。你也可以使用DanBuit的建议,但Chi-Chi和我的建议都是在Twig中做到这一点的“典型”方式。