Как расширить EntityRepository в Symfony2?

У меня возникла эта проблема. У меня есть метод, который повторяется во всех репозиториях, например этот метод.

function getAllOrderedBy($column) {

    $qb = $this->createQueryBuilder('ac')
            ->select('ac')
            ->orderBy('ac.' . $column);

    return $qb->getQuery()->getResult();
}

Я хочу извлечь его в другой суперкласс, например, OrderedRepository, и использовать его как базовый класс для всех других репозиториев.

Теперь проблема в том, как это сделать?

Я попытался создать экземпляр EntityRepository в конструкторе OrderedRepository, что-то вроде этого, но также и создание экземпляров всех внутренних объектов, необходимых для других вещей, но на самом деле это не сработало, и я чувствовал, что это неправильный путь.

function __construct() {

  parent::__construct();
  $this->blabla_option = "instantiated";
}

Не могли бы вы привести пример правильного расширения EntityRepository, чтобы этот расширенный класс мог служить базовым классом для других репозиториев?

P.S. Я начинаю изучать PHP, поэтому, пожалуйста, извините меня, если я задел ваши чувства своим незнанием.

5
задан Patrick 19 April 2014 в 20:13
поделиться