我正在使用Gdmo SoftDeletable过滤器用于Symfony2和Doctrine(https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/softdeleteable.md)
我也在使用JMSSerializerBundle为我的REST API序列化对JSON的响应。
一旦我“软删除”一家公司,我的功能就要求所有公司不再工作,因为它会抛出一个未找到实体的例外... 有没有办法确保JMSSerializerBundle忽略我的数据库中的软删除实体?
我的all()函数如下所示:
/**
* All action
* @return array
*
* @Rest\View
*/
public function allAction()
{
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('TestCRMBundle:Company')->findAll();
return array(
'companies' => $entities,
);
}
答案 0 :(得分:3)
由于嵌套关系,目前不支持它,现在你无能为力。
但是,您可以禁用SoftDeletable行为:
/**
* All action
* @return array
*
* @Rest\View
*/
public function allAction()
{
$em = $this->getDoctrine()->getManager();
$em->getFilters()->disable('softdeletable'); // Disable the filter
$entities = $em->getRepository('TestCRMBundle:Company')->findAll();
return array(
'companies' => $entities,
);
}
警告,它会返回所有,甚至 DELETED 实体。
答案 1 :(得分:1)
需要添加到配置
INSERT INTO Consultation_Slot
VALUES (1000000,'I need to learn maths','avaliable','', 13:30, 1-28-2018,
'Sunday', 'RN001', 1111, 880001, 30001);
GO
并添加到实体
orm:
filters:
softdeleteable:
class: Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter
enabled: true