Error SQLSTATE[42S22]: Column not found: 1054 Unknown column 'location_pais' in 'order clause'
If you are using SQL keywords as table column names, you can enable identifier quoting for your database connection in config/app.php.
$connection = $this->_driver->getConnection(); |
|
|
|
try { |
|
$connection->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, $this->_bufferResults); |
|
$result = $this->_statement->execute($params); |
|
} finally { |
|
$connection->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); |
|
} |
|
|
$connection = $this->_driver->getConnection(); |
|
|
|
try { |
|
$connection->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, $this->_bufferResults); |
|
$result = $this->_statement->execute($params); |
|
} finally { |
|
$connection->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); |
|
} |
|
|
{ |
|
return $this->getDisconnectRetry()->run(function () use ($query) { |
|
$statement = $this->prepare($query); |
|
$query->getValueBinder()->attachTo($statement); |
|
$statement->execute(); |
|
|
|
return $statement; |
|
}); |
|
} |
{ |
|
$this->numRetries = 0; |
|
while (true) { |
|
try { |
|
return $action(); |
|
} catch (Exception $e) { |
|
if ( |
|
$this->numRetries < $this->maxRetries && |
|
$this->strategy->shouldRetry($e, $this->numRetries) |
* @return \Cake\Database\StatementInterface executed statement |
|
*/ |
|
public function run(Query $query): StatementInterface |
|
{ |
|
return $this->getDisconnectRetry()->run(function () use ($query) { |
|
$statement = $this->prepare($query); |
|
$query->getValueBinder()->attachTo($statement); |
|
$statement->execute(); |
|
|
* @return \Cake\Database\StatementInterface |
|
*/ |
|
public function execute(): StatementInterface |
|
{ |
|
$statement = $this->_connection->run($this); |
|
$this->_iterator = $this->_decorateStatement($statement); |
|
$this->_dirty = false; |
|
|
|
return $this->_iterator; |
|
|
return new $decorator($this->_results); |
|
} |
|
|
|
$statement = $this->getEagerLoader()->loadExternal($this, $this->execute()); |
|
|
|
return new ResultSet($this, $statement); |
|
} |
|
|
if ($this->_cache) { |
|
$results = $this->_cache->fetch($this); |
|
} |
|
if ($results === null) { |
|
$results = $this->_decorateResults($this->_execute()); |
|
if ($this->_cache) { |
|
$this->_cache->store($this, $results); |
|
} |
|
} |
'You cannot call all() on a non-select query. Use execute() instead.' |
|
); |
|
} |
|
|
|
return $this->_all(); |
|
} |
|
|
|
/** |
|
* Trigger the beforeFind event on the query's repository object. |
$data = $this->extractData($object, $params, $settings); |
|
$query = $this->getQuery($object, $query, $data); |
|
|
|
$cleanQuery = clone $query; |
|
$results = $query->all(); |
|
$data['numResults'] = count($results); |
|
$data['count'] = $this->getCount($cleanQuery, $data); |
|
|
|
$pagingParams = $this->buildParams($data); |
} |
|
|
|
$results = null; |
|
try { |
|
$results = $paginator->paginate( |
|
$table, |
|
$this->request->getQueryParams(), |
|
$settings |
|
); |
$findOptions['order']=$order; |
|
$query=$query->find('all',$findOptions);/*->select(['Location.location_name','LocationPais.termino','Consulta.published','Consulta.fecha','Category.category_title','conflicto_nombre']);*/ |
|
if (!$this->isAdminUser()) $query=$query->where(['Consulta.published' =>1]); |
|
$query->cache('consultas_index_casos_'.md5($this->isAdminUser().$this->request->getRequestTarget())); |
|
$consulta = $this->paginate($query); |
|
// var_dump($consulta); |
|
$paises=$this->locateTable('Vocabulario')->find('lista', ['codigo'=>'paisesAmLat','keyField'=>'codigo','limit' => 200])->where(['id IN'=>$this->locateTable('Location')->find('all')->matching('Consulta')->select('country_id')->where(['country_id !=' => 0])->distinct()])->order(['termino'=>'ASC'])->cache('lista-paises-consulta-codigo'); |
|
$listaPaises['[todos los paĆses]']='/ocmal_db-v2/consulta/index/'; |
|
foreach ($paises as $codigo => $pais) |
* @throws \UnexpectedValueException If return value of action is not `null` or `ResponseInterface` instance. |
|
*/ |
|
public function invokeAction(Closure $action, array $args): void |
|
{ |
|
$result = $action(...$args); |
|
if ($result !== null && !$result instanceof ResponseInterface) { |
|
throw new UnexpectedValueException(sprintf( |
|
'Controller actions can only return ResponseInterface instance or null. ' |
|
. 'Got %s instead.', |
$args = $this->getActionArgs( |
|
$action, |
|
array_values((array)$controller->getRequest()->getParam('pass')) |
|
); |
|
$controller->invokeAction($action, $args); |
|
|
|
$result = $controller->shutdownProcess(); |
|
if ($result instanceof ResponseInterface) { |
|
return $result; |
|
|
return $runner->run($middlewareQueue, $controller->getRequest(), $this); |
|
} |
|
|
|
return $this->handle($controller->getRequest()); |
|
} |
|
|
|
/** |
|
* Invoke the action. |
|
|
// This is needed for auto-wiring. Should be removed in 5.x |
|
$container->add(ComponentRegistry::class, $controller->components()); |
|
|
|
return $this->controllerFactory->invoke($controller); |
|
} |
|
} |
|
|
return $middleware->process($request, $this); |
|
} |
|
|
|
if ($this->fallbackHandler) { |
|
return $this->fallbackHandler->handle($request); |
|
} |
|
|
|
return new Response([ |
|
'body' => 'Middleware queue was exhausted without returning a response ' |
if ($method === 'GET' && $cookieData === null) { |
|
$token = $this->createToken(); |
|
$request = $request->withAttribute('csrfToken', $this->saltToken($token)); |
|
/** @var mixed $response */ |
|
$response = $handler->handle($request); |
|
|
|
return $this->_addTokenCookie($token, $request, $response); |
|
} |
|
|
if ($this->queue->valid()) { |
|
$middleware = $this->queue->current(); |
|
$this->queue->next(); |
|
|
|
return $middleware->process($request, $this); |
|
} |
|
|
|
if ($this->fallbackHandler) { |
|
return $this->fallbackHandler->handle($request); |
*/ |
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface |
|
{ |
|
if (!in_array($request->getMethod(), $this->methods, true)) { |
|
return $handler->handle($request); |
|
} |
|
[$type] = explode(';', $request->getHeaderLine('Content-Type')); |
|
$type = strtolower($type); |
|
if (!isset($this->parsers[$type])) { |
if ($this->queue->valid()) { |
|
$middleware = $this->queue->current(); |
|
$this->queue->next(); |
|
|
|
return $middleware->process($request, $this); |
|
} |
|
|
|
if ($this->fallbackHandler) { |
|
return $this->fallbackHandler->handle($request); |
); |
|
} |
|
$matching = Router::getRouteCollection()->getMiddleware($middleware); |
|
if (!$matching) { |
|
return $handler->handle($request); |
|
} |
|
|
|
$container = $this->app instanceof ContainerApplicationInterface |
|
? $this->app->getContainer() |
if ($this->queue->valid()) { |
|
$middleware = $this->queue->current(); |
|
$this->queue->next(); |
|
|
|
return $middleware->process($request, $this); |
|
} |
|
|
|
if ($this->fallbackHandler) { |
|
return $this->fallbackHandler->handle($request); |
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface |
|
{ |
|
$url = $request->getUri()->getPath(); |
|
if (strpos($url, '..') !== false || strpos($url, '.') === false) { |
|
return $handler->handle($request); |
|
} |
|
|
|
if (strpos($url, '/.') !== false) { |
|
return $handler->handle($request); |
if ($this->queue->valid()) { |
|
$middleware = $this->queue->current(); |
|
$this->queue->next(); |
|
|
|
return $middleware->process($request, $this); |
|
} |
|
|
|
if ($this->fallbackHandler) { |
|
return $this->fallbackHandler->handle($request); |
*/ |
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface |
|
{ |
|
try { |
|
return $handler->handle($request); |
|
} catch (RedirectException $exception) { |
|
return $this->handleRedirect($exception); |
|
} catch (Throwable $exception) { |
|
return $this->handleException($exception, $request); |
if ($this->queue->valid()) { |
|
$middleware = $this->queue->current(); |
|
$this->queue->next(); |
|
|
|
return $middleware->process($request, $this); |
|
} |
|
|
|
if ($this->fallbackHandler) { |
|
return $this->fallbackHandler->handle($request); |
) { |
|
Router::setRequest($request); |
|
} |
|
|
|
return $this->handle($request); |
|
} |
|
|
|
/** |
|
* Handle incoming server request and return a response. |
} |
|
|
|
$this->dispatchEvent('Server.buildMiddleware', ['middleware' => $middleware]); |
|
|
|
$response = $this->runner->run($middleware, $request, $this->app); |
|
|
|
if ($request instanceof ServerRequest) { |
|
$request->getSession()->close(); |
|
} |
$server = new Server(new Application(dirname(__DIR__) . '/config')); |
|
|
|
// Run the request/response through the application |
|
// and emit the response. |
|
$server->emit($server->run()); |
|
|
If you want to customize this error message, create templates/Error/pdo_error.php