有没有办法按特定条件对Doctrine 2 EntityRepository
对象进行排序,或者如果我想传递特定的排序参数,是否必须使用DQL查询?
答案 0 :(得分:5)
您可以通过将第二个参数传递给find___方法来返回一组有序元素,该参数必须是一个关联数组,其中键是您要订购的字段的名称,值为“ASC”或'DESC'。
// query for one product matching be name and price
$product = $repository->findOneBy(array('name' => 'foo', 'price' => 19.99));
// query for all products matching the name, ordered by price
$product = $repository->findBy(
array('name' => 'foo'),
array('price' => 'ASC')
);
http://symfony.com/doc/current/book/doctrine.html#fetching-objects-from-the-database
当然,如果您想要最复杂的行为,您应该实现自定义存储库。