我有以下代碼從另一個控制器模型邏輯檢查一個控制器模型使用的枚舉
class PostsController extends AppController {
public function approve($id = null, $user = true) {
if (!$id) {
throw new NotFoundException(__('Invalid article'));
}
$post = $this->Post->findById($id);
if(!$post) {
throw new NotFoundException(__('Invalid article'));
}
if ($user['role'] == 'moderator') {
$this->Post->saveField("approval",'Approved by Moderator');
}
elseif ($user['role'] == 'admin') {
$this->Post->saveField("approval",'Posted!');
}
$this->redirect(array('action'=>'index');
}
}
我試圖使用當前用戶的「角色」($user['role']
),這是一個枚舉,支配這個動作是做什麼的。但我似乎無法得到這個工作。
我是否必須採取不同的方式來確保它知道控制器需要使用用戶模型?
你從哪裏得到'$ user'變量?通常你必須從會話'$ user = $ this-> Session-> read('Auth.user');' – arilia
我有它在AppController中設置,我認爲它會級聯。當我在視圖中回顯$ current_user [role]或$ user [role]時,我得到正確的值,但是在控制器函數中這怎麼能起作用呢? – user3298823