Mam taki problem zawsze robilem paginacje przez pobranie danych przez model i na końcu zamiast get() dałem paginate(15) , a teraz muszę zrobić to na zwykłej tablicy to jak pobiorę moje dane to potem je jeszcze obrabiam w innej funkcji i teraz moje pytanie co muszę zrobić, żeby paginacje zrobić w inny sposób.
Mój kod wygląda tak.
public function createQuestion(Request $request,$bool = false) {
$startDay = $this->startDay;
$moodModel = new MoodModel;
$moodModel->createQuestions($this->startDay);
$moodModel->setDate($request->get("dateFrom"),$request->get("dateTo"),$this->startDay);
$moodModel->setMood($request);
$moodModel->setLongMood($request);
$this->setHour($moodModel,$request);
if (!empty($request->get("whatWork")) ) {
$moodModel->searchWhatWork($request->get("whatWork"));
}
if (!empty($request->get("action")) and ($request->get("action") != "undefined") ) {
$moodModel->searchAction($request->get("action"),(array)$request->get("actionFrom"),(array)$request->get("actionTo"));
}
if (($request->get("ifAction")) == "on" ) {
$moodModel->actionOn();
}
if (($request->get("ifWhatWork")) == "on" ) {
$moodModel->whatWorkOn();
}
$moodModel->idUsers($this->idUsers);
$moodModel->moodsSelect();
$moodModel->groupByAction();
if ($request->get("sort2") == "asc") {
$moodModel->orderBy("asc",$request->get("sort"));
}
else {
$moodModel->orderBy("desc",$request->get("sort"));
}
$this->count = $moodModel->questions->get()->count();
if ($bool == false) {
return $moodModel->questions->paginate(15);
}
else {
return $moodModel->questions->get();
}
I teraz tutaj w momencie jak zmienna $bool będzie true to dalej będzie to obrabiane przez inną funkcję.
Po tej fukncji jest jeszcze ta funkcja wykonywana
public function groupActionDay($list) {
$i = 0;
$j = 0;
$array =[];
$sumLong = 0;
$sumMood = 0;
$how = 0;
$sumAnxienty = 0;
$sumVolatge = 0;
$sumStimulation = 0;
$sumEpizodes = 0;
for ($i=0;$i < count($list);$i++) {
if ($i == 0) {
$array[$j]["datEnd"] = $list[$i]->datEnd;
}
if ($i != 0 and $list[$i]->datEnd != $list[$i-1]->datEnd ) {
$array[$j]["count"] = $how;
$array[$j]["mood"] = ($sumMood / $sumLong);
$array[$j]["anxienty"] =$sumAnxienty / $sumLong;
$array[$j]["voltage"] = $sumVolatge / $sumLong;
$array[$j]["stimulation"] = $sumStimulation / $sumLong;
$array[$j]["longMood"] = $sumLong;
$array[$j]["epizodes_psychotik"] = $sumEpizodes;
$array[$j]["id"] = $list[$i]->id;
$j++;
$array[$j]["datEnd"] = $list[$i]->datEnd;
$sumMood = 0;
$sumAnxienty = 0;
$sumVolatge = 0;
$sumStimulation = 0;
$sumLong = 0;
$how = 0;
}
$sumMood += ($list[$i]->level_mood * $list[$i]->longMood);
$sumAnxienty += ($list[$i]->level_anxiety * $list[$i]->longMood);
$sumVolatge += ($list[$i]->level_nervousness * $list[$i]->longMood);
$sumStimulation += ($list[$i]->level_stimulation * $list[$i]->longMood);
$sumLong += $list[$i]->longMood;
$sumEpizodes += $list[$i]->epizodes_psychotik;
$how++;
if ($i == count($list)-1) {
$array[$j]["count"] = $how;
$array[$j]["mood"] = ($sumMood / $sumLong);
$array[$j]["anxienty"] =$sumAnxienty / $sumLong;
$array[$j]["voltage"] = $sumVolatge / $sumLong;
$array[$j]["stimulation"] = $sumStimulation / $sumLong;
$array[$j]["epizodes_psychotik"] = $sumEpizodes;
$array[$j]["longMood"] = $sumLong;
$array[$j]["id"] = $list[$i]->id;
}
}
return $array;
}
I teraz jak można wywołać paginacje na tablicy $array ?