gpt4 book ai didi

rest - Symfony2 Doctrine SoftDeletable 和 JMSSerializerBundle 不能一起工作

转载 作者:行者123 更新时间:2023-12-01 01:09:48 27 4
gpt4 key购买 nike

我正在为 Symfony2 和 Doctrine ( https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/softdeleteable.md ) 使用 Gedmo SoftDeletable 过滤器

我还使用 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,
);
}

最佳答案

由于嵌套关系,目前不支持它,您现在无能为力。

但是,您可以禁用 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,
);
}

请注意,它会返回 所有 , 甚至 已删除 实体。

关于rest - Symfony2 Doctrine SoftDeletable 和 JMSSerializerBundle 不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15944234/

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