symfony - 如何在symfony2的表单类型类中获取学说存储库?

标签 symfony formbuilder

$repository = $this->getDoctrine()->getRepository('ParabolaEntityBundle:ProjectAllocation');
        $query = $repository->createQueryBuilder('p')
                ->where('p.startDate < :sdate and p.employee = :emp and p.endDate > :edate')
                ->setParameter('sdate', date('Y-m-d', time()))
                ->setParameter('edate', date('Y-m-d', time()))
                ->setParameter('emp', $employee->getId())
                ->getQuery();
        $projectAllocate = $query->getResult();

我如何在 FormType 类中使用上述代码。我正在使用此查询为表单生成器中的选择类型生成数组。

最佳答案

我认为你应该使用 entity键入而不是具有 query_builder选项。

这个链接:

http://symfony.com/doc/current/reference/forms/types/entity.html

描述如何做到这一点。

如果由于某种原因你真的不想使用 entity类型,你总是可以在 Controller 中检索数据并通过 FormType 传递它构造函数,这有点快'n'脏,但应该可以正常工作......

Controller :

$this->createForm(new MyFormType($results_from_qb), $form_data );

表格类型:
public function __construct($results_from_qb){
    $this->results_from_qb = $results_from_qb; // store it into class member field to be used latter in buildForm method
}

关于symfony - 如何在symfony2的表单类型类中获取学说存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9714301/

相关文章:

symfony - 停留在prePersist功能时如何取消保存实体

php - 两个 MySQL 表之间的最长前缀

Symfony 2 和 twig : Add a class for 'current page' in navigation

javascript - 如何在 vuejs 中使用 symfony 路由?

validation - Flutter FormBuilder Dropdown 验证不起作用

ruby-on-rails-3 - 如何使用 formtastic 编写无资源的表单

forms - 使用@ViewChild 获取输入的 .nativeElement 返回 'undefined'

sorting - Symfony表单实体/文档对属性进行排序

symfony - 在 Symfony2 中运行 PHPUnit 测试时,JMS Serializer 不读取配置

php - 交响乐 : can't we have a hidden entity field?