如何在html.twig模板中展示与主实体关联的其他实体属性
错误原因
- 实体属性名不匹配:Appointment实体中定义的关联Cats的属性为
cat,而非模板中写的cats,Twig无法找到对应属性或可公开访问的getter方法,直接触发了你收到的报错。 - 关联类型使用错误:Cats和Appointment是ManyToOne关联,单个Appointment实例仅对应1个Cats实例,完全不需要用for循环遍历集合。
- 外键字段调用方式错误:Doctrine不会直接对外暴露数据库层面的外键字段
cat_id,需要先获取关联的Cats对象,再调用对象的对应属性。
修正后的twig模板代码
{% extends 'base.html.twig' %} {% block title %}Appointment{% endblock %} {% block main %} <h1>Appointment</h1> <div> {# 输出关联猫的id,其他属性同理替换id即可,比如名字用name #} <td>{{ appointment.cat.id }}</td> </div> {% endblock %}
补充说明
如果需要调用Cats实体的其他字段,按照appointment.cat.属性名的格式编写即可,Twig会自动调用对应实体的get属性名()方法获取值。
内容的提问来源于stack exchange,提问作者Helene Lansiaux
相关产品推荐
相关产品推荐

