/**
  * @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);
 }