示例#1
0
 /**
  * Get an array of groupped results.
  *
  * @return array
  */
 public function grouppedResults()
 {
     $groupped = [];
     foreach ($this->answers->all()->toArray() as $index => $answer) {
         foreach ($answer as $key => $value) {
             if ($value == null || $value == '' || in_array($key, $this->removeFromGrouppedResults)) {
                 continue;
             }
             // Ignore if value is an array
             if (!is_array($value)) {
                 $values = !in_array($key, $this->dontExplodeValue) ? explode(',', $value) : [$value];
                 foreach ($values as $value) {
                     if (array_key_exists($key, $groupped) && array_key_exists($value, $groupped[$key])) {
                         $groupped[$key][$value] = $groupped[$key][$value] + 1;
                     } else {
                         $groupped[$key][$value] = 1;
                     }
                 }
             }
         }
     }
     // Sorting the answers by number descending
     foreach ($groupped as $key => $value) {
         array_multisort($groupped[$key], SORT_NUMERIC, SORT_DESC);
     }
     return $groupped;
 }
示例#2
0
 /**
  * @return array
  */
 public function answers()
 {
     $answers = $this->answersRepository->all();
     return $this->respond(['data' => $this->answersTransformer->transformCollection($answers->toArray())]);
 }