Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1637

Linq-like Filter API for collections

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.3
    • Component/s: ORM
    • Security Level: All
    • Labels:
      None

      Description

      We want an API that allows users to filter collections to subsets on the SQL level during the runtime (not using DQL).

      Example:

      class Post
      {
         private $comments;
         public function getRecentComments()
         {
             return $this->comments->select(Expression::lessThan("commentDate", new \DateTime("-7 days")));
         }
      }
      

      The language of this Expressions for selecting entities out of a collection has to be so simple that it works on both arrays and any persistence backed data-source.

      The Collection#select() method would return a new collection that is not equal the invoked collection.

        Activity

        Hide
        Benjamin Eberlei added a comment -

        Implemented

        Show
        Benjamin Eberlei added a comment - Implemented
        Hide
        Benjamin Eberlei added a comment -
        Show
        Benjamin Eberlei added a comment - There is a PR now https://github.com/doctrine/common/pull/117
        Hide
        Benjamin Eberlei added a comment -
        Show
        Benjamin Eberlei added a comment - First API example: https://gist.github.com/1766769

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Benjamin Eberlei
          • Votes:
            6 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: