相关疑难解决方法(0)

StofDoctrineExtensionsBundle softdelete - 我该如何使用它?

我的老板为softdelete过滤器安装了这个软件包,但文档超出了稀疏范围.如何在删除查询中使用它?

php symfony stofdoctrineextensions

8
推荐指数
1
解决办法
8383
查看次数

禁用软删除过滤器的硬删除记录不起作用

我正在尝试在功能测试期间禁用"软可删除"过滤器,我按以下方式执行:

第一个选项:尝试tearDown()在我的测试中禁用:

protected function tearDown() {
    parent::tearDown();

    $entityUser = $this->em->getRepository("UserSecurityBundle:User")->find($this->user->getUser()->getId());

    $filter = $this->em->getFilters()->disable('softdeleteable');

    $this->em->remove($entityUser);
    $this->em->flush();
    $this->em->close();
}
Run Code Online (Sandbox Code Playgroud)

没工作.

第二个选项:创建一个doctrine_test.yml并在config_test.yml中导入:

imports:
    - { resource: config.yml }
    - { resource: doctrine_test.yml }
    - { resource: security_test.yml }
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我删除doctrine.yml并包含在config_prod.yml.

没工作.

这是我的doctrine_test.yml部分的样子:

filters:
    softdeleteable:
        class: Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter
        enabled: false
Run Code Online (Sandbox Code Playgroud)

第三个选项:禁用过滤器setUp():

public function setUp() {
    static::$kernel = static::createKernel();
    static::$kernel->boot();
    $this->em = static::$kernel->getContainer()->get('doctrine')->getManager();

    $fixture = new LoadFeeData();
    $fixture->load($this->em);

    $this->em->getFilters()->disable('softdeleteable');
    $this->user = $this->createUser();

    parent::setUp();
}
Run Code Online (Sandbox Code Playgroud)

没工作.

有什么建议?解?

testing phpunit functional-testing symfony doctrine-orm

3
推荐指数
1
解决办法
3095
查看次数

使用 KnpLabs 的 SoftDeletable 时强制删除条令实体

我在https://github.com/KnpLabs/DoctrineBehaviors/#softDeletable的实体中使用 SoftDeletable 特征它工作正常,但有时我想强制删除实体。我怎样才能做到这一点?

当我使用时$em->remove($entity),它会被软删除,但我需要将其从数据库中完全删除。

entity-framework symfony doctrine-orm

2
推荐指数
1
解决办法
4150
查看次数