Doctrine 2 - EntityRepository的排序方法?

wow*_*ick 2 doctrine-orm

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

Xoc*_*zin 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')
);
Run Code Online (Sandbox Code Playgroud)

http://symfony.com/doc/current/book/doctrine.html#fetching-objects-from-the-database

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