/** * @param Channel $channel */ public function findBy(Channel $channel) { $criteria = array('channel' => array('builder' => function ($alias) { return sprintf("%s.channel", $alias); }, 'value' => $channel)); return $this->entityManager->findBy(Listing::class, $criteria); }
/** * @param Channel $channel * @param \DateTimeImmutable $specifiedDate * @return array */ public function getListingsOf(Channel $channel, \DateTimeImmutable $specifiedDate) { $criteria = array('channel' => array('builder' => function ($alias) { return sprintf("%s.channel", $alias); }, 'value' => $channel), 'programDate' => array('builder' => function ($alias) { return sprintf("DATE(%s.programDate)", $alias); }, 'value' => $specifiedDate->format('Y-m-d')), 'orderBy' => array('builder' => function ($alias) { return sprintf("%s.programDate", $alias); }, 'value' => 'ASC')); return $this->entityManager->findBy(Listing::class, $criteria); }