Example #1
0
 /**
  * @param Query $query
  * @return array
  */
 private function getPreparedErrorMessage(Query $query)
 {
     $error = $this->adapter->getLastError();
     if ($error == false) {
         return false;
     }
     $trace = debug_backtrace();
     $entryPoint = [];
     $entryPoint['file'] = '';
     $entryPoint['line'] = '';
     foreach ($trace as $item) {
         if (empty($item['file'])) {
             continue;
         }
         if (preg_match('~^' . __DIR__ . '~', $item['file'])) {
             continue;
         }
         $entryPoint = $item;
         break;
     }
     return ['message' => sprintf('%s at %s line %s', $error->getMessage(), $entryPoint['file'], $entryPoint['line']), 'info' => ['code' => $error->getCode(), 'message' => $error->getMessage(), 'query' => $this->transformQuery($query, true)->getQueryAsText(), 'context' => sprintf('%s line %s', $entryPoint['file'], $entryPoint['line'])]];
 }