1

尽管几年前在学校的旧版 cakephp 中使用过 cakephp,但我还是很陌生。现在它需要我们使用 $session->flash(); 显示我们的错误信息。我把它放在我的 view/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'));
        }
    }
}
4

2 回答 2

2

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

于 2012-05-16T05:22:25.823 回答
-1

$this->Session->setFlash(__('Post deleted', true)); 为什么使用 double under score 你可以简单地使用

$this->Session->setFlash('帖子已删除');

于 2012-05-16T04:13:22.850 回答