【发布时间】:2018-08-10 08:18:21
【问题描述】:
模板有这个数据({{ dump(extra) }}的结果)
array (size=4)
0 =>
object(MyProject\Entity\Translation)[210]
private 'language' =>
object(Proxies\__CG__\MyProject\Entity\Language)[225]
public '__initializer__' => null
public '__cloner__' => null
public '__isInitialized__' => boolean true
private 'code' (MyProject\Entity\Language) => string 'es' (length=2)
private 'id' (MyProject\Entity\Language) => int 70
private 'entity' => string 'Reason' (length=6)
private 'entityId' => int 10000
private 'field' => string 'text' (length=4)
private 'text' => string 'No quiero recibir emails' (length=24)
1 =>
object(MyProject\Entity\Translation)[224]
private 'language' =>
object(Proxies\__CG__\MyProject\Entity\Language)[225]
public '__initializer__' => null
public '__cloner__' => null
public '__isInitialized__' => boolean true
private 'code' (MyProject\Entity\Language) => string 'es' (length=2)
private 'id' (MyProject\Entity\Language) => int 70
private 'entity' => string 'Reason' (length=6)
private 'entityId' => int 10001
private 'field' => string 'text' (length=4)
private 'text' => string 'No me gusta la web' (length=18)
2 =>
object(MyProject\Entity\Translation)[223]
private 'language' =>
object(Proxies\__CG__\MyProject\Entity\Language)[225]
public '__initializer__' => null
public '__cloner__' => null
public '__isInitialized__' => boolean true
private 'code' (MyProject\Entity\Language) => string 'es' (length=2)
private 'id' (MyProject\Entity\Language) => int 70
private 'entity' => string 'Reason' (length=6)
private 'entityId' => int 10002
private 'field' => string 'text' (length=4)
private 'text' => string 'No tengo ningún motivo' (length=23)
3 =>
object(MyProject\Entity\Translation)[221]
private 'language' =>
object(Proxies\__CG__\MyProject\Entity\Language)[225]
public '__initializer__' => null
public '__cloner__' => null
public '__isInitialized__' => boolean true
private 'code' (MyProject\Entity\Language) => string 'es' (length=2)
private 'id' (MyProject\Entity\Language) => int 70
private 'entity' => string 'Reason' (length=6)
private 'entityId' => int 10003
private 'field' => string 'text' (length=4)
private 'text' => string 'Otros' (length=5)
但我正在尝试访问对象属性,但未打印选择中的选项。
{{ dump(extra) }}
<select id="motivos_baja" name="motivos_baja" class="form-control">
<option value="0" selected>Seleccione un motivo</option>
{% for extra in reason%}
<option value="{{ reason.getEntityId() }}">{{ reason.getText() }}</option>
{% endfor %}
</select>
对象是doctrine 实体。
【问题讨论】:
-
是
{{ reason.entityId }}和{{ reason.text }} -
这个方法我已经试过了,还是不行
-
你错过了
{% for extra in reason%}中的一个空格 -
@gogaz - 这没关系。 Twig 能够自行解决此问题。这意味着如果该属性是公共的,
twig将直接使用对该属性的访问权限,否则它将尝试使用该属性的getter -
@MickaelLeger 这也是不正确的。见here,间距无所谓