Doctrine Project

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
Doctrine 2 - ORM
  • Doctrine 2 - ORM
  • DDC-2318

Count all element

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: New Feature New Feature
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Invalid
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Security Level: All
  • Labels:
    None

Description

Hello,

I'm sorry if it is not the right place to ask and suggest but I was not sure where to contact you.

I have been trying to make a pagination of articles without using DQL. For me, it defies the purpose of the ORM to do DQL for things like pagination.

After some research I found the method findBy() which allows me to select X element starting at position Y.
Yet, to know the number of pages, I needed to count the number of elements in my database and I didn't find any count() method in the Entity Repository.

I was wondering why there is no count method ?

Moreover, I did my own entity Repository that extends the default one to have a count method like this :

use Doctrine\ORM\EntityRepository;

class CountableEntityRepository extends EntityRepository {
    
    /**
     * returns the number of entity's rows
     * @return int
     */
    public function count() {
        $query = $this->createQueryBuilder('e')->select('count(e)')->getQuery();
        return $query->getSingleScalarResult();
    }
}

as I am new to Doctrine I don't know if this is a good solution, if it is not, could you add a count method to the repository ?

Thank you very much.

Regards,
Benjamin.

Activity

  • All
  • Comments
  • History
  • Activity
  • Source
Hide
Permalink
Marco Pivetta added a comment - 25/Feb/13 3:26 PM

Heya!

First of all, consider that this is an issue tracker, not a Q&A platform (use StackOverflow, the mailing list or IRC for that).

Anyway, the use case seems reasonable to me, but consider that Doctrine comes with a powerful paginator ( http://docs.doctrine-project.org/en/latest/tutorials/pagination.html )

I don't think this logic fits repositories by default.

Show
Marco Pivetta added a comment - 25/Feb/13 3:26 PM Heya! First of all, consider that this is an issue tracker, not a Q&A platform (use StackOverflow, the mailing list or IRC for that). Anyway, the use case seems reasonable to me, but consider that Doctrine comes with a powerful paginator ( http://docs.doctrine-project.org/en/latest/tutorials/pagination.html ) I don't think this logic fits repositories by default.

People

  • Assignee:
    Marco Pivetta
    Reporter:
    Benjamin
Vote (0)
Watch (2)

Dates

  • Created:
    25/Feb/13 3:21 PM
    Updated:
    25/Feb/13 3:27 PM
    Resolved:
    25/Feb/13 3:27 PM
  • Atlassian JIRA (v5.2.7#850-sha1:b2af0c8)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Doctrine Project. Try JIRA - bug tracking software for your team.