我有實體和我用Symfony的SoftDeleteable
* @Gedmo\SoftDeleteable(fieldName="deletedAt")
,當我在我的數據庫中刪除某些實體我有我的實體,並在現場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個實體,爲什麼以及如何找到實體?
UPDATE 在我的控制器
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;
幫助,請
您需要使用'$ entityManager-> getFilters() - > disable('soft-deleteable')'來禁用過濾器在文檔中說 - https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/softdeleteable.md#setup-and-autoloading。否則它們將永遠不會找到它們,因爲它們被「刪除」。 – qooplmao
我需要在實體存儲庫中禁用過濾器我可以嗎? –
在創建查詢之前。 – qooplmao