Cakephp:$ session-> flash();给我错误

时间:2012-05-16 03:52:02

标签: cakephp cakephp-2.1

尽管几年前在旧版本的cakephp用于学校,但我在cakephp上还是很新。现在它要求我们使用$ session-> flash();显示我们的错误消息。我把它放在我的视图/ layouts / default.ctp中,这就是我得到的

Call to a member function flash() on a non-object in
C:\xampp\htdocs\blog\app\View\Layouts\default.ctp on line 9

这是我的代码:

class PostsController extends AppController {
    var $name = 'Posts';
    var $helpers = array('Html', 'Form', 'Session');

public function delete($id = null) {
    $this->Post->id = $id;
        if (!$id) {
            $this->Session->setFlash(_('Post does not exist!', true));
            $this->Session->redirect(array('action'=>'index'));
        }
        if ($this->Post->delete($id)) {
            $this->Session->setFlash(__('Post deleted', true));
            $this->redirect(array('action' => 'index'));
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您必须在布局中使用$this->Session->flash()$session->flash()是CakePHP 1.x中使用的方法。

答案 1 :(得分:-1)

$ this-> Session-> setFlash(__(' Post deleted',true)); 为什么使用双倍得分你可以简单地使用

$ this->会话 - > setFlash('发布已删除');