Доктрина создали хранилище для моего класса и получить список всех элементов, отсортированных по любой строке, я написал этот член:Symfony2 - EntityRepository - Сортировка строк - это хороший и безопасный подход?
class NoteRepository extends EntityRepository {
public function findAllOrderedByRow($row, $order = 'ASC') {
if ('DESC' != strtoupper($order)) {
$order = 'ASC';
}
if (property_exists('Namespace\Entity', $row)) {
return $this->getEntityManager()
->createQuery('SELECT o FROM Entity o ORDER BY o. ' . $row . ' ' . $order)
->getResult();
}
return null;
}
}
Мой вопрос, является ли это хороший подход, или лучше, чтобы добавить функции для всех отсортированных строк? И это экономить, чтобы использовать его так? Я не вижу способа для инъекций. Но, возможно, я забыл об этом.
Большое спасибо, Philipp
При использовании программно сгенерированных запросов я бы пошел на 'QueryBuilder' –