Imbo\Model\Images::setHits PHP Method

setHits() public method

Set the hits property
public setHits ( integer $hits ) : self
$hits integer The amount of query hits
return self
    public function setHits($hits)
    {
        $this->hits = (int) $hits;
        return $this;
    }

Usage Example

Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function getImages($publicKey, Query $query, Images $model)
 {
     // Initialize return value
     $images = [];
     // Query data
     $queryData = ['publicKey' => $publicKey];
     $from = $query->from();
     $to = $query->to();
     if ($from || $to) {
         $tmp = [];
         if ($from !== null) {
             $tmp['$gte'] = $from;
         }
         if ($to !== null) {
             $tmp['$lte'] = $to;
         }
         $queryData['added'] = $tmp;
     }
     $imageIdentifiers = $query->imageIdentifiers();
     if (!empty($imageIdentifiers)) {
         $queryData['imageIdentifier']['$in'] = $imageIdentifiers;
     }
     $checksums = $query->checksums();
     if (!empty($checksums)) {
         $queryData['checksum']['$in'] = $checksums;
     }
     $originalChecksums = $query->originalChecksums();
     if (!empty($originalChecksums)) {
         $queryData['originalChecksum']['$in'] = $originalChecksums;
     }
     // Sorting
     $sort = ['added' => -1];
     if ($querySort = $query->sort()) {
         $sort = [];
         foreach ($querySort as $s) {
             $sort[$s['field']] = $s['sort'] === 'asc' ? 1 : -1;
         }
     }
     // Fields to fetch
     $fields = array_fill_keys(['extension', 'added', 'checksum', 'originalChecksum', 'updated', 'publicKey', 'imageIdentifier', 'mime', 'size', 'width', 'height'], true);
     if ($query->returnMetadata()) {
         $fields['metadata'] = true;
     }
     try {
         $cursor = $this->getImageCollection()->find($queryData, $fields)->limit($query->limit())->sort($sort);
         // Skip some images if a page has been set
         if (($page = $query->page()) > 1) {
             $skip = $query->limit() * ($page - 1);
             $cursor->skip($skip);
         }
         foreach ($cursor as $image) {
             unset($image['_id']);
             $image['added'] = new DateTime('@' . $image['added'], new DateTimeZone('UTC'));
             $image['updated'] = new DateTime('@' . $image['updated'], new DateTimeZone('UTC'));
             $images[] = $image;
         }
         // Update model
         $model->setHits($cursor->count());
     } catch (MongoException $e) {
         throw new DatabaseException('Unable to search for images', 500, $e);
     }
     return $images;
 }
All Usage Examples Of Imbo\Model\Images::setHits