Возможно ли делать объединения в Doctrine с функциональностью Criteria? - PullRequest
0 голосов
/ 07 июня 2018
public function findActiveEvents($start, $end)
{
    $expr = Criteria::expr();
    $criteria = Criteria::create();
    $criteria->where(
           $expr->andX($expr->gte('start', $start), $expr->lte('end', $end)
    ));

    return $this->matching($criteria);
}

Итак, скажем, у моего объекта событий есть категория, а в категории есть много событий, как бы я их отфильтровал?

1 Ответ

0 голосов
/ 07 июня 2018

Если вы хотите получить коллекцию неактивных событий для объекта категории, вы можете использовать класс критериев

class Category{
    protected $events; // (oneToMany)
    // ...
    protected getEvents() { // default method
        return $this->events;
    }
    protected getActiveEvents() { 
        $expr = Criteria::expr();
        $criteria = Criteria::create();
        $criteria->where(
               $expr->andX($expr->gte('start', $start), $expr->lte('end', $end)
        ));
        return $this->events->matching($criteria);
    }
}

Как фильтровать данные внутри объекта сущности в Symfony 2 и Doctrine

...