gpt4 book ai didi

php - Symfony 软删除

转载 作者:行者123 更新时间:2023-12-02 04:17:17 24 4
gpt4 key购买 nike

我有实体并且我使用

* @Gedmo\SoftDeleteable(fieldName="deletedAt")

当我删除数据库中的某些实体时,我的实体和字段已删除。当我删除实体时,我有时间,这是可以的。但现在我需要找到所有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];

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

更新在我的 Controller 中

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());
}

我有错误

 Filter 'soft-deleteable' is not enabled.

我的实体

/**
* 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;

请帮忙

最佳答案

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

        filters:
softdeleteable:
class: Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter
enabled: true
stof_doctrine_extensions:
default_locale: "%locale%"
orm:
default:
timestampable: true
sluggable: true
softdeleteable: true

然后我会采取行动

$manager->getFilters()->disable('softdeleteable');

并拥有我删除的实体

关于php - Symfony 软删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32862630/

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