Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-2865

[GH-882] Efficient counting on Criteria

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.5
    • Component/s: None
    • Security Level: All
    • Labels:
      None

      Description

      This issue is created automatically through a Github pull request on behalf of bakura10:

      Url: https://github.com/doctrine/doctrine2/pull/882

      Message:

      Hi,

      This is an attempt to solve this very annoying issue: http://www.doctrine-project.org/jira/browse/DDC-2217

      I'm not sure about my solution as I'm not really into Doctrine internals.

      1. Use case

      I have a library that is based exclusively on Criteria API. A Paginator adapter uses an empty Criteria to count how many elements are in the collection. However, EntityRepository's matching method always initialize the whole collection into an ArrayCollection. This is unusable in most cases and make the API unusable for my use case.

      1. Solution

      I've created a new LazyCollectionCriteria that implements an efficient count. I think the cleanest solution would be to add a method to the Selectable interface: with a count method. But I think this is not possible now, unfortunately.

      If the solution seems nice to you, I'll write the tests.

      ping @ocramius, @mac_nibblet and @thinkscape (this should make ZfrRest usable )

        Activity

        Hide
        Doctrine Bot added a comment -

        A related Github Pull-Request [GH-882] was closed:
        https://github.com/doctrine/doctrine2/pull/882

        Show
        Doctrine Bot added a comment - A related Github Pull-Request [GH-882] was closed: https://github.com/doctrine/doctrine2/pull/882

          People

          • Assignee:
            Guilherme Blanco
            Reporter:
            Doctrine Bot
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: