У меня возникла эта проблема. У меня есть метод, который повторяется во всех репозиториях, например этот метод.
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, поэтому, пожалуйста, извините меня, если я задел ваши чувства своим незнанием.