Есть функция фильтра
public function filter($showActiveOnly, $showNotAdded, $showHalfAdded, $showDeclined)
{
$newRow = [];
$statuses = [
'dodano' => $showActiveOnly,
'nedodano' => $showNotAdded,
'casdodano' => $showHalfAdded,
'storno' => $showDeclined,
];
foreach ($statuses as $status => $addFilter)
{
if ($addFilter)
{
$newRow[] = $this->db->table(self::TABLE_NAME)->where(array('status' => $status));
// or :
// array_push($newRow, $this->db->table(self::TABLE_NAME)->where(array('status' => $status)));
}
}
return $newRow ? : $this->db->table(self::TABLE_NAME);
}
и фунция в которой fetchAll и она вызывает функцию filter
public function getFiltered($showActiveOnly, $showNotAdded, $showHalfAdded, $showDeclined)
{
return $this->filter($showActiveOnly, $showNotAdded, $showHalfAdded, $showDeclined)->fetchAll();
//$rows = $this->filter($showActiveOnly, $showNotAdded, $showHalfAdded, $showDeclined);
//$rows->execute();
//$results = $rows->fetchAll();
//return $results;
}
Вылазит ошибка Call to a member function FetchAll() on array
При чём если из функции filter убрать квадратные скобки возле newRow который в цикле то ошибка пропадаер и функция работает но не так как нужно