0

这是产生错误的 add.ctp 文件

<?php
echo $form->create('Category');
echo $form->input('name');
echo $form->end('Save Post');
?>

这是与 add.ctp 关联的 CategoriesController.php 文件

<?php

class CategoriesController extends AppController {

    var $name = 'Categories';

    function index() {
        $this->set('categories', $this->Category->find('all'));
    }

    function add() {
        if (!empty($this->data)) {
            if ($this->Category->save($this->data)) {
                $this->Session->setFlash('Your category has been saved.');
                $this->redirect(array('action' => 'index'));
            }
        }
    }
}

?>

我不断收到以下错误消息:

Call to a member function create() on a non-object

4

2 回答 2

0

假设您使用的是 2.X,您是否$this->Form$form使用它之前进行了分配?

于 2012-08-03T20:55:39.057 回答
0

您正在使用与 cakephp 1.x 对应的代码

<?php
echo $this->form->create('Category');
echo $this->form->input('name');
echo $this->form->end('Save Post');
?>

是 cakephp 2.x 中的正确方法。

cakephp 文档

于 2012-08-03T21:03:43.370 回答