我正在尝试制作一个用于将比赛结果添加到事件的表单,但无法弄清楚如何在一个选择框的选项中显示连接在一起的表中的信息。
这是我的数据库结构:
人员表:
id | name
----------
1 | fred
2 | dave
3 | james
参赛者表(代码是参赛者的比赛编号——你别在衬衫上的那种东西):
id | code | person_id | category_id
---------------------------------
1 | 210 | 1 | 1
2 | 211 | 2 | 1
3 | 212 | 3 | 1
4 | 156 | 1 | 2
6 | 157 | 3 | 2
结果表:
id | time | entrant_id
---------------------
1 | 1:20 | 1
2 | 1:35 | 2
3 | 2:02 | 3
将结果添加到 Category=1 时的所需输出:
<select>
<option>210 - Fred</option>
<option>211 - Dave</option>
<option>212 - James</option>
</select>
我目前在我的 ResultType 中获得的代码只是让我得到了 person.name,这是一个好的开始(以每个名称 1 个额外查询为代价),但不是 entrant.code:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('time')
->add('entrant', 'entity', array(
'class'=>'KP\EventsBundle\Entity\Entrant',
'property' => 'person.name',
));
}
如何在同一个选项列表中同时获得 entrant.code 和 person.name?
我只用了几个星期的 Symfony,所以请对我温柔一点。