gpt4 book ai didi

php - 将 'choice' 选项添加到 'entity' 类型表单字段会使表单无效 -- Symfony2

转载 作者:可可西里 更新时间:2023-11-01 13:24:28 24 4
gpt4 key购买 nike

我遇到了这个我无法解决的问题。

在我的一个表单中,需要过滤实体。

一点背景:

该表单用于将新任务添加到工作流步骤。可以选择的任务取决于用户处于工作流程的哪个阶段、分配给工作流程的产品以及管理该工作流程的公司。

我尝试将过滤查询添加到“query_builder”部分,并尝试将实体存储库中的查询结果放入数组的“选择”部分。

但是,表单总是返回说我正在处理的字段无效。最令人费解的部分是,没有“选择”字段,例如,当它为该实体引入所有记录时,选择框完全相同(有一些额外的记录)——名称和模式书面。这很好用。所以我完全不知道发生了什么。

表单元素代码:

->add('instructionAction', 'entity', array(
'label' => 'Action',
'empty_value' => 'Select Action',
'required' => true,
'class' => 'ApplicationTrackpadCommonBundle:InstructionAction',
'property' => 'description',
'choices' => $this->instructionActionRepository->findAllForCaseInstruction( $options['caseInstructionId'] )
)
)

我不确定我可以发布多少代码用于客户工作。我使用的查询正确地填充了下拉框,就像没有查询一样,即使我选择了所有没有任何 WHERE 子句的实体,也会出现同样的问题。

感谢所有帮助。

最佳答案

像这样:

->add('instructionAction', 'entity', array(
'required' => true,
'class' => 'ApplicationTrackpadCommonBundle:InstructionAction',
'query_builder' => function(EntityRepository $er) use ($user) {
return $er->createQueryBuilder('c')
->where('c.user = :user')
->setParameter('user', $user)
->orderBy('c.name', 'ASC');
}))

您可以使用use 传递变量。

关于php - 将 'choice' 选项添加到 'entity' 类型表单字段会使表单无效 -- Symfony2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19120461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com