Здравствуйте! Подскажите пожалуйста не получается применить fetchObject() Если пишу так Код (Text): public function select($query, $args = []) { return $this->dbTransaction($query, $args)['stmt']->fetchObject(); } возвращает последнюю строчку из БД как объект. Но мне нужно все. Пишу так: Код (Text): public function select($query, $args = []) { $data = []; while ($obj = $this->dbTransaction($query, $args)['stmt']->fetchObject()) { $data[] = clone $obj; } return $data; } Вроде бы все правильно. Скрипт зависает на 30 секунд и вылетает по таймауту. Как правильно это сделать?
Возможно: Код (Text): $rs = $this->dbTransaction($query, $args)['stmt']; while ($obj = $rs->fetchObject()) { $data[] = clone $obj; }
Не, просто здесь: Код (Text): $rs = $this->dbTransaction($query, $args)['stmt']; while ($obj = $rs->fetchObject()) { $data[] = clone $obj; } сперва выполняется запрос к базе, а потом в цикле обрабатывается его результат. А в твоём примере: Код (Text): while($obj = $this->dbTransaction($query, $args)['stmt']->fetchObject()) { в цикле делается запрос к базе. То есть метод dbTransaction() выполняется на каждой итерации и так до бесконечности