/** * Selects {$maxCount} random reviews from DB. * * @param int $maxCount Maximum count of selected items * (if table contains less items). * @return array */ public function getRandomOffers($maxCount) { /** @var ORM $orm */ $orm = $this->pixie->orm; $offerCount = $orm->get('specialOffers')->count_all(); $offsets = ArraysHelper::getRandomArray($maxCount, 1, $offerCount); $offers = []; // Query for every product with given offset foreach ($offsets as $offset) { $offer = $orm->get('specialOffers')->offset($offset - 1)->find(); $offers[] = $offer; } return $offers; }
/** * Selects {$maxCount} random reviews from DB. * * @param int $maxCount Maximum count of selected items * (if table contains less items). * @return array */ public function getRandomReviews($maxCount) { /** @var ORM $orm */ $orm = $this->pixie->orm; $reviewCount = $orm->get('review')->count_all(); $offsets = ArraysHelper::getRandomArray($maxCount, 1, $reviewCount); $reviews = []; // Query for every product with given offset foreach ($offsets as $offset) { $review = $orm->get('review')->offset($offset - 1)->find(); $reviews[] = $review; } return $reviews; }
/** * Returns array of random values from 1 to given max value. * * @param $count_rnd * @param $max_array_value * @return array */ private function getRndArray($count_rnd, $max_array_value) { return ArraysHelper::getRandomArray($count_rnd, 1, $max_array_value); }