【发布时间】:2011-10-26 05:21:51
【问题描述】:
我正在使用 Symfony 2 和教义。我目前有一个名为 Worker 的实体,在 Worker 实体中,与 User 实体存在多对一关系。
/**
* @ORM\ManyToOne(targetEntity="User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
还有更多的实体,比如 Worker 以及 Manager 等。我想创建一个创建 Job 实体的表单。在表单中,我试图创建一个选择 Worker 的选择选项,但该 Worker 的名称存储在用户数据库中。有没有办法在表单选项中从用户数据库中打印工人的姓名。
$builder->add('workers','entity', [
'label' => 'Workers:',
'property' => 't.user.firstName',
'empty_value' => 'Choose a Worker',
'class' => 'Company\CompanyBundle\Entity\Worker',
'query_builder' => function (\Company\CompanyBundle\Repository\WorkerRepository $repository) {
return $repository->createQueryBuilder('t')
->add('orderBy', 't.user.firstName ASC');
}
]);
有什么想法吗?
【问题讨论】:
标签: forms symfony doctrine doctrine-orm