Doctrine 2 - EntityRepository的排序方法?

时间:2012-12-31 14:38:33

标签: doctrine-orm

有没有办法按特定条件对Doctrine 2 EntityRepository对象进行排序,或者如果我想传递特定的排序参数,是否必须使用DQL查询?

1 个答案:

答案 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

当然,如果您想要最复杂的行为,您应该实现自定义存储库。