2015-11-16 4 views
0

У меня проблема с наследованием в symfony2 и доктрине. У меня есть класс A и подкласс B. У меня есть другой класс C, который имеет набор B. Я делаю соединение между C и B, но я хотел бы добавить constrainst в это соединение, например, я хотел бы получить только результаты, которые имеют менее одного месяца для коллекции B для каждого объекта C. Но поле «дата» находится на столе, так что, когда я мой присоединиться:Наследование и присоединение к symfony и доктрине

$qb = $this->createQueryBuilder('d'); 
      $qb->leftJoin('d.Cobject', 'c') 
      ->leftJoin('c.Bcollection', 'b'); 

Джойн между A и B подразумевается, и я хотел бы добавить ограничение на это соединение. Как я могу это сделать?

Спасибо.

ответ

0

Я не уверен, чтобы полностью выяснить вашу проблему, но следующая идея может вам помочь.

public function yourFunction() { 

    $gap = new \DateTime('-30days'); 

    $qb = $this->createQueryBuilder('d') 
     ->leftJoin('d.Cobject', 'c'); 

    if (d.date <= $gap) { 
     $qb->leftJoin('c.Bcollection', 'b'); 
    } 

    return $qb->getQuery()->getResult(); 
} 

Приветствия

Смежные вопросы