Symfony 软删除

shu*_*van 2 php symfony doctrine-orm

我有实体并且我使用

* @Gedmo\SoftDeleteable(fieldName="deletedAt")
Run Code Online (Sandbox Code Playgroud)

当我删除数据库中的某些实体时,我的实体和字段已删除。我有时间删除实体,这是可以的。但现在我需要找到所有deleteAt实体?我创建QB

$qb = $this->getEntityManager()->createQueryBuilder('d');
$qb
    ->select('d')
    ->from('ArtelProfileBundle:Project', 'd')
    ->where('d.deletedAt IS NOT NULL');

$count = $qb->getQuery()->getResult();
$query = $qb->getQuery();
$results = $query->getResult();
return [$results, $count];
Run Code Online (Sandbox Code Playgroud)

我有 0 个实体,为什么以及如何找到实体?

更新 在我的控制器中

class ProjectController extends FOSRestController
{
public function getProjectsAction(ParamFetcher $paramFetcher)
{
$manager = $this->getDoctrine()->getManager();
        if($paramFetcher->get('status'))
    {
        $manager->getFilters()->disable('soft-deleteable');
        $queryBuilder = $manager->getRepository('ArtelProfileBundle:Project')->findForStatusProject($paramFetcher, $this->getUser());
    }
Run Code Online (Sandbox Code Playgroud)

我有错误

 Filter 'soft-deleteable' is not enabled.
Run Code Online (Sandbox Code Playgroud)

我的实体

/**
 * Project
 *
 * @ORM\Table(name="project")
 * @Gedmo\SoftDeleteable(fieldName="deletedAt")
 * @ORM\Entity(repositoryClass="Artel\ProfileBundle\Entity\Repository\ProjectRepository")
 * @ExclusionPolicy("all")
 */
class Project
{
/////
/**
 * @var \DateTime $deletedAt
 *
 * @ORM\Column(name="deleted_at", type="datetime", nullable=true)
 * @Type("DateTime")
 * @Expose()
 */
protected $deletedAt;
Run Code Online (Sandbox Code Playgroud)

请帮助

shu*_*van 5

解决了,这只是我在配置中使用的名称与代码中使用的名称不匹配

        filters:
        softdeleteable:
            class: Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter
            enabled: true
stof_doctrine_extensions:
default_locale: "%locale%"
orm:
    default:
        timestampable: true
        sluggable:     true
        softdeleteable: true
Run Code Online (Sandbox Code Playgroud)

然后我用我的行动

$manager->getFilters()->disable('softdeleteable');
Run Code Online (Sandbox Code Playgroud)

并拥有我删除的实体