コード例 #1
0
 /**
  * Retrieves the list of medias (paginated)
  *
  * @ApiDoc(
  *  resource=true,
  *  output={"class"="Sonata\MediaBundle\Model\Media", "groups"="sonata_api_read"}
  * )
  *
  * @QueryParam(name="page", requirements="\d+", default="1", description="Page for media list pagination")
  * @QueryParam(name="count", requirements="\d+", default="10", description="Number of medias by page")
  * @QueryParam(name="enabled", requirements="0|1", nullable=true, strict=true, description="Enabled/Disabled medias filter")
  * @QueryParam(name="orderBy", array=true, requirements="ASC|DESC", nullable=true, strict=true, description="Order by array (key is field, value is direction)")
  *
  * @View(serializerGroups="sonata_api_read", serializerEnableMaxDepthChecks=true)
  *
  * @param ParamFetcherInterface $paramFetcher
  *
  * @return Media[]
  */
 public function getMediaAction(ParamFetcherInterface $paramFetcher)
 {
     $page = $paramFetcher->get('page');
     $count = $paramFetcher->get('count');
     $orderBy = $paramFetcher->get('orderBy');
     $criteria = $paramFetcher->all();
     unset($criteria['page'], $criteria['count'], $criteria['orderBy']);
     foreach ($criteria as $key => $crit) {
         if (null === $crit) {
             unset($criteria[$key]);
         }
     }
     return $this->mediaManager->findBy($criteria, $orderBy, $count, $page);
 }