Database Error
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM `luxuryvn_ntdc`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) ' at line 1
SQL Query: SELECT `Node`.*, .* FROM `luxuryvn_ntdc`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) INNER JOIN `luxuryvn_ntdc`.`category_linkeds` AS `CategoryLinked` ON (`Node`.`id` = `CategoryLinked`.`node_id`) WHERE `Node`.`status` = 1 AND `Node`.`type` IS NULL AND `CategoryLinked`.`category_id` IS NULL GROUP BY `CategoryLinked`.`node_id` ORDER BY `Node`.`pos` desc, `Node`.`id` desc LIMIT 10
Notice: If you want to customize this error message, create app/View/Errors/pdo_error.ctp
Stack Trace
- CORE/Cake/Model/Datasource/DboSource.php line 460 → PDOStatement->execute(array)
try {
$query = $this->_connection->prepare($sql, $prepareOptions);
$query->setFetchMode(PDO::FETCH_LAZY);
if (!$query->execute($params)) {
$this->_results = $query;
array()
- CORE/Cake/Model/Datasource/DboSource.php line 426 → DboSource->_execute(string, array)
$options += array('log' => $this->fullDebug);
$t = microtime(true);
$this->_result = $this->_execute($sql, $params);
'SELECT `Node`.*, .* FROM `luxuryvn_ntdc`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) INNER JOIN `luxuryvn_ntdc`.`category_linkeds` AS `CategoryLinked` ON (`Node`.`id` = `CategoryLinked`.`node_id`) WHERE `Node`.`status` = 1 AND `Node`.`type` IS NULL AND `CategoryLinked`.`category_id` IS NULL GROUP BY `CategoryLinked`.`node_id` ORDER BY `Node`.`pos` desc, `Node`.`id` desc LIMIT 10' array()
- CORE/Cake/Model/Datasource/DboSource.php line 666 → DboSource->execute(string, array, array)
if ($cache && ($cached = $this->getQueryCache($sql, $params)) !== false) {
return $cached;
}
if ($result = $this->execute($sql, array(), $params)) {
$out = array();
'SELECT `Node`.*, .* FROM `luxuryvn_ntdc`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) INNER JOIN `luxuryvn_ntdc`.`category_linkeds` AS `CategoryLinked` ON (`Node`.`id` = `CategoryLinked`.`node_id`) WHERE `Node`.`status` = 1 AND `Node`.`type` IS NULL AND `CategoryLinked`.`category_id` IS NULL GROUP BY `CategoryLinked`.`node_id` ORDER BY `Node`.`pos` desc, `Node`.`id` desc LIMIT 10' array() array()
- CORE/Cake/Model/Datasource/DboSource.php line 1077 → DboSource->fetchAll(string, boolean)
$query = $this->generateAssociationQuery($model, null, null, null, null, $queryData, false, $null);
$resultSet = $this->fetchAll($query, $model->cacheQueries);
'SELECT `Node`.*, .* FROM `luxuryvn_ntdc`.`nodes` AS `Node` INNER JOIN ON (`Node`.`id`=.node_id) INNER JOIN `luxuryvn_ntdc`.`category_linkeds` AS `CategoryLinked` ON (`Node`.`id` = `CategoryLinked`.`node_id`) WHERE `Node`.`status` = 1 AND `Node`.`type` IS NULL AND `CategoryLinked`.`category_id` IS NULL GROUP BY `CategoryLinked`.`node_id` ORDER BY `Node`.`pos` desc, `Node`.`id` desc LIMIT 10' false
- CORE/Cake/Model/Model.php line 2880 → DboSource->read(Node, array)
* @return array
*/
protected function _readDataSource($type, $query) {
$results = $this->getDataSource()->read($this, $query);
$this->resetAssociations();
object(Node) { name => 'Node' useTable => 'nodes' useDbConfig => 'default' id => false data => array([maximum depth reached]) schemaName => 'luxuryvn_ntdc' table => 'nodes' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => 'Default' alias => 'Node' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => 'all' recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) findMethods => array( [maximum depth reached] ) Category => object(Category) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } array( 'conditions' => array( 'Node.status' => (int) 1, 'Node.type' => null, 'CategoryLinked.category_id' => array([maximum depth reached]) ), 'fields' => array( (int) 0 => 'Node.*', (int) 1 => '.*' ), 'joins' => array( (int) 0 => array( [maximum depth reached] ), (int) 1 => array( [maximum depth reached] ) ), 'limit' => (int) 10, 'offset' => null, 'order' => array( (int) 0 => array( [maximum depth reached] ) ), 'page' => (int) 1, 'group' => 'CategoryLinked.node_id', 'callbacks' => true, 'maxLimit' => (int) 10, 'paramType' => 'named' )
- CORE/Cake/Model/Model.php line 2852 → Model->_readDataSource(string, array)
return null;
}
return $this->_readDataSource($type, $query);
}
'all' array( 'conditions' => array( 'Node.status' => (int) 1, 'Node.type' => null, 'CategoryLinked.category_id' => array([maximum depth reached]) ), 'fields' => array( (int) 0 => 'Node.*', (int) 1 => '.*' ), 'joins' => array( (int) 0 => array( [maximum depth reached] ), (int) 1 => array( [maximum depth reached] ) ), 'limit' => (int) 10, 'offset' => null, 'order' => array( (int) 0 => array( [maximum depth reached] ) ), 'page' => (int) 1, 'group' => 'CategoryLinked.node_id', 'callbacks' => true, 'maxLimit' => (int) 10, 'paramType' => 'named' )
- CORE/Cake/Controller/Component/PaginatorComponent.php line 198 → Model->find(string, array)
if ($recursive != $object->recursive) {
$parameters['recursive'] = $recursive;
}
$results = $object->find($type, array_merge($parameters, $extra));
}
'all' array( 'conditions' => array( 'Node.status' => (int) 1, 'Node.type' => null, 'CategoryLinked.category_id' => array([maximum depth reached]) ), 'fields' => array( (int) 0 => 'Node.*', (int) 1 => '.*' ), 'order' => array( 'Node.pos' => 'desc', 'Node.id' => 'desc' ), 'limit' => (int) 10, 'page' => (int) 1, 'maxLimit' => (int) 10, 'paramType' => 'named', 'joins' => array( (int) 0 => array( [maximum depth reached] ), (int) 1 => array( [maximum depth reached] ) ), 'group' => 'CategoryLinked.node_id' )
- CORE/Cake/Controller/Controller.php line 1079 → PaginatorComponent->paginate(string, array, array)
* @deprecated Will be removed in 3.0. Use PaginatorComponent instead.
*/
public function paginate($object = null, $scope = array(), $whitelist = array()) {
return $this->Components->load('Paginator', $this->paginate)->paginate($object, $scope, $whitelist);
}
'Node' array() array()
- APP/Controller/Component/CcontentComponent.php line 118 → Controller->paginate(string)
$this->Controller->paginate = $this->Controller->{$mdl}->archive($this->Controller->currentCategory['Category']['id']);
}
return $this->Controller->paginate('Node');
}
'Node'
- APP/Controller/Component/CcontentComponent.php line 57 → CcontentComponent->getArchive(string, integer)
return $data;
}
return $this->getArchive($node_id, $limit);
}
'472' (int) 10
- APP/Plugin/Default/Controller/NodeController.php line 51 → CcontentComponent->getContent(string, string)
$slug = str_replace('.html', '', $slug);
$this->nodeData = $this->Node->findBySlug($slug);
if(!is_array($this->nodeData) || count($this->nodeData) <=0) header("Location: /",TRUE, 302); ;
$this->data = $this->Ccontent->getContent($this->nodeData['Node']['type'], $this->nodeData['Node']['id']);
}
'tag' '472'
- [internal function] → NodeController->index(string, string)
'thi-cong-noi-that-chuyen-nghiep' '.html'
- CORE/Cake/Controller/Controller.php line 490 → ReflectionMethod->invokeArgs(NodeController, array)
'action' => $request->params['action']
));
}
return $method->invokeArgs($this, $request->params['pass']);
object(NodeController) { theme => 'Default' product_pagination_limit => (int) 12 news_pagination_limit => (int) 6 collection_pagination_limit => (int) 20 hook => array([maximum depth reached]) components => array( [maximum depth reached] ) uses => array( [maximum depth reached] ) is_mobile => false Controller => null lang => 'vi' lang_array => null settings => array( [maximum depth reached] ) nodeData => array( [maximum depth reached] ) cModalName => 'Tag' cActionName => null cFlagPage => false currentCategory => array([maximum depth reached]) currentCategoryChildren => null action_array => array( [maximum depth reached] ) cBuff => array( [maximum depth reached] ) name => 'Node' helpers => array([maximum depth reached]) request => object(CakeRequest) {} response => object(CakeResponse) {} viewPath => 'Node' layoutPath => null viewVars => array( [maximum depth reached] ) view => 'index' layout => 'default' autoRender => true autoLayout => true Components => object(ComponentCollection) {} viewClass => 'View' View => null ext => '.ctp' plugin => 'Default' cacheAction => false passedArgs => array( [maximum depth reached] ) scaffold => false methods => array( [maximum depth reached] ) modelClass => 'Category' modelKey => 'node' validationErrors => null Session => object(SessionComponent) {} Cookie => object(CookieComponent) {} Ccontent => object(CcontentComponent) {} Cmodal => object(CmodalComponent) {} Cmeta => object(CmetaComponent) {} Capp => object(CappComponent) {} Clayout => object(ClayoutComponent) {} RequestHandler => object(RequestHandlerComponent) {} Lang => object(AppModel) {} Setting => object(AppModel) {} title_for_layout => 'Thi công nội thất - Thiết kế nội thất đẳng cấp tại Luxury Palace' keyword_for_layout => 'Luxury Palace,Thi công nội thất,Thiết kế nội thất,nội thất cổ điển, nội thất tân cổ điển, ' description_for_layout => 'Luxury Palace đơn vị thi công và thiết kế nội thất với hàng trăm công trình thiết kế và thi công gồm biệt thự pháp,lâu đài pháp,penthouse cổ điển, tân cổ điển..' Category => object(Category) {} Banner => object(AppModel) {} Node => object(Node) {} [protected] _responseClass => 'CakeResponse' [protected] _mergeParent => 'AppController' [protected] _eventManager => object(CakeEventManager) {} } array( (int) 0 => 'thi-cong-noi-that-chuyen-nghiep', (int) 1 => '.html' )
- CORE/Cake/Routing/Dispatcher.php line 187 → Controller->invokeAction(CakeRequest)
$controller->startupProcess();
$render = true;
$result = $controller->invokeAction($request);
if ($result instanceof CakeResponse) {
object(CakeRequest) { params => array( [maximum depth reached] ) data => array([maximum depth reached]) query => array([maximum depth reached]) url => 'thi-cong-noi-that-chuyen-nghiep.html' base => '' webroot => '/' here => '/thi-cong-noi-that-chuyen-nghiep.html' [protected] _detectors => array( [maximum depth reached] ) [protected] _input => '' }
- CORE/Cake/Routing/Dispatcher.php line 162 → Dispatcher->_invoke(NodeController, CakeRequest, CakeResponse)
));
}
$response = $this->_invoke($controller, $request, $response);
if (isset($request->params['return'])) {
object(NodeController) { theme => 'Default' product_pagination_limit => (int) 12 news_pagination_limit => (int) 6 collection_pagination_limit => (int) 20 hook => array([maximum depth reached]) components => array( [maximum depth reached] ) uses => array( [maximum depth reached] ) is_mobile => false Controller => null lang => 'vi' lang_array => null settings => array( [maximum depth reached] ) nodeData => array( [maximum depth reached] ) cModalName => 'Tag' cActionName => null cFlagPage => false currentCategory => array([maximum depth reached]) currentCategoryChildren => null action_array => array( [maximum depth reached] ) cBuff => array( [maximum depth reached] ) name => 'Node' helpers => array([maximum depth reached]) request => object(CakeRequest) {} response => object(CakeResponse) {} viewPath => 'Node' layoutPath => null viewVars => array( [maximum depth reached] ) view => 'index' layout => 'default' autoRender => true autoLayout => true Components => object(ComponentCollection) {} viewClass => 'View' View => null ext => '.ctp' plugin => 'Default' cacheAction => false passedArgs => array( [maximum depth reached] ) scaffold => false methods => array( [maximum depth reached] ) modelClass => 'Category' modelKey => 'node' validationErrors => null Session => object(SessionComponent) {} Cookie => object(CookieComponent) {} Ccontent => object(CcontentComponent) {} Cmodal => object(CmodalComponent) {} Cmeta => object(CmetaComponent) {} Capp => object(CappComponent) {} Clayout => object(ClayoutComponent) {} RequestHandler => object(RequestHandlerComponent) {} Lang => object(AppModel) {} Setting => object(AppModel) {} title_for_layout => 'Thi công nội thất - Thiết kế nội thất đẳng cấp tại Luxury Palace' keyword_for_layout => 'Luxury Palace,Thi công nội thất,Thiết kế nội thất,nội thất cổ điển, nội thất tân cổ điển, ' description_for_layout => 'Luxury Palace đơn vị thi công và thiết kế nội thất với hàng trăm công trình thiết kế và thi công gồm biệt thự pháp,lâu đài pháp,penthouse cổ điển, tân cổ điển..' Category => object(Category) {} Banner => object(AppModel) {} Node => object(Node) {} [protected] _responseClass => 'CakeResponse' [protected] _mergeParent => 'AppController' [protected] _eventManager => object(CakeEventManager) {} } object(CakeRequest) { params => array( [maximum depth reached] ) data => array([maximum depth reached]) query => array([maximum depth reached]) url => 'thi-cong-noi-that-chuyen-nghiep.html' base => '' webroot => '/' here => '/thi-cong-noi-that-chuyen-nghiep.html' [protected] _detectors => array( [maximum depth reached] ) [protected] _input => '' } object(CakeResponse) { [protected] _statusCodes => array( [maximum depth reached] ) [protected] _mimeTypes => array( [maximum depth reached] ) [protected] _protocol => 'HTTP/1.1' [protected] _status => (int) 200 [protected] _contentType => 'text/html' [protected] _headers => array([maximum depth reached]) [protected] _body => null [protected] _file => null [protected] _fileRange => null [protected] _charset => 'UTF-8' [protected] _cacheDirectives => array([maximum depth reached]) [protected] _cookies => array([maximum depth reached]) }
- APP/webroot/index.php line 101 → Dispatcher->dispatch(CakeRequest, CakeResponse)
App::uses('Dispatcher', 'Routing');
$Dispatcher = new Dispatcher();
$Dispatcher->dispatch(new CakeRequest(), new CakeResponse(array('charset' => Configure::read('App.encoding'))));
object(CakeRequest) { params => array( [maximum depth reached] ) data => array([maximum depth reached]) query => array([maximum depth reached]) url => 'thi-cong-noi-that-chuyen-nghiep.html' base => '' webroot => '/' here => '/thi-cong-noi-that-chuyen-nghiep.html' [protected] _detectors => array( [maximum depth reached] ) [protected] _input => '' } object(CakeResponse) { [protected] _statusCodes => array( [maximum depth reached] ) [protected] _mimeTypes => array( [maximum depth reached] ) [protected] _protocol => 'HTTP/1.1' [protected] _status => (int) 200 [protected] _contentType => 'text/html' [protected] _headers => array([maximum depth reached]) [protected] _body => null [protected] _file => null [protected] _fileRange => null [protected] _charset => 'UTF-8' [protected] _cacheDirectives => array([maximum depth reached]) [protected] _cookies => array([maximum depth reached]) }