2014-03-04 55 views
0

我升級CakePHP的1.3〜2.0分頁錯誤時從CakePHP的1.3升級到2.0

我收到以下錯誤在錯誤日誌

Error: [MissingTableException] Table aros_acos for model Permission was not found in datasource default. 
Exception Attributes: array (
    'table' => 'aros_acos', 
    'class' => 'Permission', 
    'ds' => 'default', 
) 
Request URL: /users/show?%2Fusers%2Fshow= 

Stack Trace: 
#0 /lib/Cake/Model/Model.php(3498): Model->setSource('aros_acos') 
#1 /lib/Cake/Model/Datasource/DboSource.php(1063): Model->getDataSource() 
#2 /lib/Cake/Model/Model.php(2902): DboSource->read(Object(User), Array) 
#3 /lib/Cake/Model/Model.php(2874): Model->_readDataSource('count', Array) 
#4 /app/Controller/Component/PaginationComponent.php(212): Model->find('count', 'status!='DL'') 
#5 /app/Controller/UsersController.php(108): PaginationComponent->init('status!='DL'') 
#6 [internal function]: UsersController->show() 
#7 /lib/Cake/Controller/Controller.php(490): ReflectionMethod->invokeArgs(Object(UsersController), Array) 
#8 /lib/Cake/Routing/Dispatcher.php(185): Controller->invokeAction(Object(CakeRequest)) 
#9 /lib/Cake/Routing/Dispatcher.php(160): Dispatcher->_invoke(Object(UsersController), Object(CakeRequest), Object(CakeResponse)) 
#10 /app/webroot/index.php(108): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse)) 

UsersController.php錯誤部分

$criteria = "status!='1'"; 
$this->Pagination->direction = 'ASC'; 
$this->Pagination->sortBy = 'username'; 
//******** 
$this->Pagination->setPageLimit($page_limit); 
list($order, $limit, $page) = $this->Pagination->init($criteria); // Added 

PaginationComponent.php

$count = $this->controller->{$this->modelClass}->find('count', $criteria); 

請讓我知道發生了什麼問題。

謝謝,

+1

該錯誤與您的分頁無關。這是基於無效數據庫設置的數據庫錯誤 - 很可能發生在每個不能公開訪問的頁面上。 – mark

+0

修正了問題。謝謝大家.. –

回答

0

你甚至嘗試閱讀和理解錯誤消息嗎?如果您收到一些錯誤消息,則開始閱讀(並理解)錯誤消息。

[MissingTableException]模型權限的表aros_acos未在數據源默認值中找到。

這意味着您的數據庫中不存在表aros_acos。

+0

表aros_acos和模型已經存在。但仍然出現錯誤。這是我在這裏發佈的唯一原因。 –

+0

好吧,把它讀到最後......你的權限模式試圖無論出於何種原因使用該表,並且無法找到它。你的工作找出原因。 – burzum