2011-06-16 88 views
0

我想訪問當前登錄的id用戶如何在cakePHP中的函數beforeDelete()中獲取當前登錄用戶的ID?

beforeDelete()功能/app/models/course.php

function beforeDelete() 
{ 
// Some code 
// code also sets value of $uid2 

$uid = $this->Auth->user('id'); //this is line 86 in course.php 

    if ($uid2 == $uid) { 
      return true; 
    } 
    else { 
      return false; 
    } 
} 

但在執行過程中,我得到以下錯誤:

Notice (8): Undefined property: Course::$Auth [APP/models/course.php, line 86] 
Fatal error: Call to a member function user() on a non-object in /var/www/some_path/app/models/course.php on line 86 

請建議。

+0

組件(如Auth組件)僅可用於控制器。所以這就是爲什麼你會得到錯誤。我不知道如何以一種乾淨的方式解決這個問題。 – Arjen 2011-06-16 13:59:55

+0

感謝@Terr。 burzum建議的方法工作 – 2011-06-16 14:41:07

回答

2

將當前登錄用戶的ID與d從控制器到模型。

$this->Model->data[$this->Model->alias]['user_id'] = $this->Auth->user('id'); 

在你beforeDelete()回調,你可以訪問它

$this->data[$this->alias]['user_id'] 

,做任何你想要在那裏。我可以給你進一步的建議,但你的問題是,說實話,不是很豐富。請在將來更具體地談談你的目標。

+0

謝謝,它的工作原理! – 2011-06-16 16:04:52

相關問題