【发布时间】:2015-12-15 23:53:12
【问题描述】:
我正在尝试从我的对象中获取特定值。我只想打印其中的第一个元素,因此我尝试通过在数组位置访问它来将其视为数组。
我也试过用twig属性函数
但是我无法让它工作。
{% for b in dotabets %}
{% for t in b.teams %}
You bet on: {{ t.name[0] }}
{% endfor %}
{% endfor %}
我试过 {{ t.name|first }} 但它只返回循环中每个项目的第一个字母。
bet.orm.yml
AppBundle\Entity\Bet:
type: entity
repositoryClass: AppBundle\Entity\Repository\BetRepository
table: bets
id:
id:
type: integer
id: true
generator:
strategy: AUTO
fields:
createdDatetime:
type: datetime
column: created_datetime
betTime:
type: datetime
column: bet_time
status:
type: integer
length: 2
result:
type: integer
length: 2
nullable: true
homeOdds:
type: decimal
scale: 2
awayOdds:
type: decimal
scale: 2
closedDatetime:
type: datetime
column: closed_datetime
nullable: true
manyToOne:
game:
targetEntity: AppBundle\Entity\Game
manyToMany:
teams:
targetEntity: AppBundle\Entity\Team
joinTable:
name: bets_teams
joinColumns:
bet_id:
referencedColumnName: id
inverseJoinColumns:
team_id:
referencedColumnName: id
控制器
class IndexController extends ControllerBase
{
/**
* @Route("/", name="index")
* @Template()
*/
public function showMatchesAction()
{
$betRepo = $this->getEM()->getRepository('AppBundle:Bet');
$dotaBets = $betRepo->findDota2Matches();
$csgoBets = $betRepo->findCsGoMatches();
return [
'dotaBets' => $dotaBets,
'csgoBets' => $csgoBets,
];
}
【问题讨论】:
-
你的数组结构怎么样?
-
它是一个一维数组,我使用的是 symfony2 并将一个实体对象传递给视图
-
那么为什么要嵌套两个 for 呢?也许你想要 b.teams[0].name?
-
嘿,感谢您的回答,但我已经尝试过这些解决方案。我添加了额外的代码来画出更好的画面。昨天很晚才发帖抱歉