Example #1
0
 /**
  * Find the less visited variation of template
  *
  * @param $template
  *
  * @return mixed
  *
  * @throws \Exception
  */
 public function getLessVisitedVariation($template)
 {
     $variations = Template::getTemplateVariations($template);
     $data = array_combine($variations, array_pad(array(), count($variations), 0));
     $collection = $this->resetCollection()->addFieldToFilter('template', $template)->collection();
     /** @var Stats $item */
     foreach ($collection as $item) {
         if (array_key_exists($item->getVariation(), $data)) {
             $data[$item->getVariation()] = $item->getViews();
         }
     }
     asort($data);
     return array_shift(array_keys($data));
 }