我们有User实体,它与其他实体有关系(OneToMany)。在为用户实体构建FormType时。我们已将相关实体作为集合。
$builder->add('sso_users_organization', "collection", array('type'=>new UsersOrganizationType(),'allow_add' => true) );
我们希望仅根据状态“有效”显示关联实体的过滤。
我们尝试过以下方式进行过滤。
$organizations = $userEntity->getSsoUsersOrganization();
foreach($organizations as $key=>$org){
if($org->getStatus() == 0){
unset($organizations[$key]);
}
}
但是当我们保存详细信息时,状态为“非活动”的其他记录将被删除。
请任何人帮助我。
谢谢
答案 0 :(得分:0)
尝试这样的事情。 $ er是由" class"指定的类型的实体存储库。在这种情况下,UsersOrganizationTypeRepository
$builder->add('sso_users_organization', "entity", array(
"class" => "Acme\AppBundle\UsersOrganizationType",
"query_builder" => function(EntityRepository $er){
return $er->createQueryBuilder('uot')
->where('uot.active = true');
}
);