您好我已經做了find()方法,並添加一個新的領域的一些結果:CakePHP的傳遞一個數組進行分頁() - 新模式
$approved = $this->ExpenseClaim->find('all', array('conditions'=> array('ExpenseClaim.claim_status_id' => '3')));
$i = 0;
foreach ($approved as $ap) {
$approved[$i]['ExpenseClaim']['claimTotal'] = $this->ExpenseClaim->expenseClaimTotal($approved[$i]['ExpenseClaim']['id']);
$i++;
}
我現在需要通過這個進行分頁,但是我讀here,你不能這樣做,我必須創建另一個模型,只在這個特定的查找中使用afterFind()方法。
所以我創建了一個名爲ExpenseClaimTotal
的新模式和新車型的UseTable設置爲
public $useTable = 'expense_claims';
然後一個afterFind()方法,我做了一個簡單的調試:
public function afterFind($results, $primary = false) {
debug($results);
//return $results;
}
但是,當我現在嘗試在pagesController中對這個新模型進行查找失敗:
$this->loadModel('ExpenseClaimTotal');
$approved = $this->ExpenseClaimTotal->find('all', array('conditions'=> array('ExpenseClaim.claim_status_id' => '3')));
這是錯誤我得到:
Database Error
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ExpenseClaim.claim_status_id' in 'where clause'
SQL Query: SELECT `ExpenseClaimTotal`.`id`, `ExpenseClaimTotal`.`user_id`, `ExpenseClaimTotal`.`claim_status_id`, `ExpenseClaimTotal`.`created`, `ExpenseClaimTotal`.`modified`, `ExpenseClaimTotal`.`approved`, `ExpenseClaimTotal`.`approved_by`, `ExpenseClaimTotal`.`declined_by`, `ExpenseClaimTotal`.`date_submitted` FROM `expenses`.`expense_claims` AS `ExpenseClaimTotal` WHERE `ExpenseClaim`.`claim_status_id` = 3
有似乎沒有在該文檔太多關於使用2種型號爲一個表
添加代碼和進度問題,謝謝 –