/** * @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); }
/** * @param string $source * @return string */ public function createFromSource($source) { $videoProxy = new VideoProxy($source); $this->entityManager->persist($videoProxy); return (string) $videoProxy->getUuid(); }
/** * @param string $uuid */ public function find($uuid) { return $this->entityManager->findOneBy(VideoProxy::class, 'uuid', $uuid); }