2011-08-09 25 views
1

我有一個模型作業的作業控制器。在CakePHP中與控制器無關的運行查詢

當我點擊/ jobs(Job Controller的索引函數)時,我需要在另外兩個表(不加入Job)上運行一個查詢來查找值,以便在實際顯示索引之前手動插入到作業中。

我已經嘗試了幾件事情,但似乎無法取得任何進展。

任何人都可以幫助我嗎?

1)從連接客戶和包(複雜條件) 2)選擇字段遍歷結果,並在工作中插入/更新值 3)顯示工作

預先感謝您。

Manikandan

回答

2

如果放在beforeFilter下的AppController這也可能有效:

if($this->referer() == '/users/login' && $this->Auth->user()){ 
    $this->loadModel('User'); 
    $this->User->id = $this->Auth->User('id'); 
    $this->User->saveField('last_login', date(DATE_ATOM)); 
} 
+0

第3行是什麼意思?有人可以發佈對CakePHP頁面的引用來解釋此功能嗎? '$ this-> User-> id = ...' – VinGarcia

5

您可以加載非相關模型in a number of ways,但是這可能是控制器最好的一個:

$this->loadModel('Customer'); 
$customers = $this->Customer->find('all'); 

替代品包括:

ClassRegistry::init('Customer')->find('all'); 
// or (equivalent) 
$customer = ClassRegistry::init('Customer') 
$customers = $customer->find('all'); 

或:

App::import('Model', 'Customer'); 
$customer = new Customer(); 
$customers = $customer->find('all'); 
+0

我假設客戶和包裝都在這裏有關,你不需要創建從上即時關係工作到這些模型中的任何一個。 – deizel