当我必须在数据库中插入实体数据时,我遇到了问题。
实体与 Symfony2 的实体字段一起显示,我使用查询生成器仅显示“活动”数据。(见下文)
可以通过 Ajax 将数据添加到 Symfony 生成的“选择”中(新的“教授”不活跃 (is_active = 0))。但是,当我选择通过 Ajax 添加且未激活的数据时,出现此错误:“此值无效。” => 那是因为 Symfony2 由于 de querybuilder "where" 语句而添加了自动验证。
是否可以覆盖默认的 Symfony2 行为,以便也可以验证通过 Ajax 元素添加的非活动 (is_active = 0 (boolean)) 元素(与下面的查询构建器“where”语句不匹配的项目?
$builder->add('professionA', 'genemu_jquerychosen_entity', array(
'class' => 'SportUserBundle:Profession',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('prof')
->where('prof.is_active = :active')
->setParameters(array('active' => '1'))
->orderBy('prof.name', 'ASC');
},
));
谢谢!