要编辑哪些文件以更改Doctrine中的排序findAll函数?

时间:2017-06-19 20:24:46

标签: php doctrine-orm

我有一个特定的表,我总是希望以特定的方式排序(例如,用户表必须按用户名排序,总是)。当我运行时:

$这 - > getDoctrine() - > getRepository( '用户') - >的findAll();

我希望按用户名排序返回的列表,而不必每次都在控制器中传递它。

根据this answer,实现这一点的方法是“在实体存储库中定义自己的查询”。我是Doctrine的新手,并不确定应该在哪里完成。请注意,我不使用Symfony,只使用Doctrine ORM。

如果我理解正确,我必须对此进行设置:

use Doctrine\ORM\EntityRepository;

class UserRepository extends EntityRepository
{
    public function findAll()
    {
        return $this->findBy(array(), array('username' => 'ASC'));
    }
}

我的问题是:我应该在哪个档案中配置这个?在哪个文件夹?我在主doctrine文件夹(vendor / doctrine / orm / lib / Doctrine / ORM)中找到了一个名为EntityRepository.php的文件中的原始函数,但编辑此文件意味着:a)更新Doctrine时将覆盖更改,和b)这适用于我的所有表格,而不仅仅适用于此表格。

0 个答案:

没有答案