2014-09-25 44 views
0

我在數據庫和一個實體的兩個屬性:獲取的對象與變量

title_one 
title_two 

而且在模板(小枝)我想只有一次來自這些領域。

{% set type = 'two' %} 

我可以:

<div id="title"> 
{% if type == 'one' %} 
    {% entity.title_one %} 
{% elseif type == 'two' %} 
    {% entity.title_two %} 
{% endif %} 
</div> 

它運作良好,但我喜歡做這樣的事情:

<div id="title"> 
    {{ entity.title_{{ type }} }} 
</div> 

我如何能做到嗎?

+0

你的問題有點不清楚:是否'title_one'和'title_two'獨立的實體,或者是他們相同的實體的屬性? – lxg 2014-09-25 06:17:28

+0

對不起,他們是同一個實體的屬性。 – marksoofig 2014-09-25 06:25:38

回答

0

只需在實體中添加一個輔助方法,如getMyType()。這將返回正確的類型。在樹枝模板,你可以訪問此方法:

{% set type == myEntity.getMyType() %} 

請注意,您必須將實體注入到在你的控制器模板:

$Response = $this->render(
    "MySomethingBundle:Area:page.html.twig", 
    array('myEntity' => $entityInstance)); 

順便說一句,你可能希望有看看different strategies of inheritance mapping