小编Gin*_*tro的帖子

Symfony 2.1 Doctrine过滤器(启用/禁用)

我正在使用以下设置在Symfony2.1项目中实现Doctrine 过滤器:

<?php

namespace Acme\Bundle\Entity;

class Article {
    /**
     * @ORM\Column(type="string")
     */
    private $status;
    ...
}

//app/config/config.yml
doctrine:
    orm:
        filters:
            status:
                class:   Acme\Bundle\Filter\StatusFilter
                enabled: false
        ....

//src/Acme/Bundle/Filter/StatusFilter.php
namespace Acme\Bundle\Filter;

use Acme\Bundle\Entity\Status;

class StatusFilter extends SQLFilter {

    public function addFilterConstraint(ClassMetadata $target, $alias)
    {
        $filter =
            $target->reflClass->implementsInterface('Acme\Bundle\Entity\Status')?
                $alias . '.status = ' . Status::PUBLISHED : '';

        return $filter;
    }
}
Run Code Online (Sandbox Code Playgroud)

其中Acme\Bundle\Entity\Status只是一个界面.
启用过滤器时,代码按预期工作config.yml.

问题是我无法检索所有文章进行管理!
有没有办法为某个捆绑包启用此过滤器?
ps我知道如何使用EntityManager启用和禁用过滤器,
我只是找不到适合前端Bundle的地方.

我的管理部分可以通过路由前缀访问 myadmin

www.example.com/myadmin/ - > admin section =禁用过滤器(在配置中默认禁用)www.example.com/... - >其他=启用过滤器.

configuration filter symfony doctrine-orm symfony-2.1

4
推荐指数
2
解决办法
6381
查看次数