douju7245 2015-07-28 09:17
浏览 18
已采纳

Symfony2查询具有订单的特定数量的对象

I want to know if it is possible to query only a specific amount of objects and order them. For example I want to query for the newest products added, and I want to get only the newest 10 products from the table.

I dont know if you can order a specific amount in the controller, but I know that you can do slice in the twig. However getting the right amount straight from the query would be much more sufficient if possible.

However for some reason I cant even sort the product that I get(http://symfony.com/doc/current/book/doctrine.html#fetching-objects-from-the-database). The documentation clearly shows that you can easily order objects. However with my code it does not order:

        $newProducts = $em->getRepository('MpShopBundle:Product')->findBy(array(), array('id' => 'DESC'));

This returns all of the products. How to query for only 10 of all of them?

How can I achieve what I want?

  • 写回答

1条回答 默认 最新

  • dpfad62426 2015-07-28 09:27
    关注

    You can add more parameters to the findBy()-method like:

    $newProducts = $em->getRepository('MpShopBundle:Product')->findBy(
        array('foo' => 'bar'),
        array('id' => 'ASC'),
        10,
        0
    );
    

    The signature of this method:

    /**
     * Finds entities by a set of criteria.
     *
     * @param array      $criteria
     * @param array|null $orderBy
     * @param int|null   $limit
     * @param int|null   $offset
     *
     * @return array The objects.
     */
    public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
    

    Further reading: 7. Working with Objects / 7.8.2. By Simple Conditions

    The EntityRepository#findBy() method additionally accepts orderings, limit and offset as second to fourth parameters.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算