在CakePHP 2.0中使用ajax发布到控制器
当我发布到这个控制器时,我得到的响应是:在CakePHP 2.0中使用ajax发布到控制器,php,ajax,cakephp,cakephp-2.0,Php,Ajax,Cakephp,Cakephp 2.0,当我发布到这个控制器时,我得到的响应是:致命错误:对第26行的/app/controller/AppController.php中的非对象调用成员函数find(),这可能与显式使用$this->data()有关。我在用 根据那里的建议,但由于我没有使用表单发送数据(因此没有使用$this->request->data()),我想知道$this->data()的替代品是什么,这样我就可以工作了 我的数据库表是submissions\u favorites 这是我最喜欢的型号: class Subm
致命错误:对第26行的/app/controller/AppController.php中的非对象调用成员函数find()
,这可能与显式使用$this->data()
有关。我在用
根据那里的建议,但由于我没有使用表单发送数据(因此没有使用$this->request->data()
),我想知道$this->data()
的替代品是什么,这样我就可以工作了
我的数据库表是submissions\u favorites
这是我最喜欢的型号:
class SubmissionFavorite extends AppModel {
var $name = 'SubmissionFavorite';
var $belongsTo = array(
'User' => array(
'className' => 'User'
)
);
}
这是AjaxController(我要发布到):
my AppController中的第26行是:
protected function getSubmissionCount() {
$totalSubmissions = $this->Submission->find('count');
return $totalSubmissions;
}
这和其他事情完全无关。在AjaxController中编写新方法时,我甚至没有向AppController添加任何内容,因此我不确定它的相关性(或者为什么我在该文件中出现错误)。尝试更改所有内容
var $name = 'SubmissionFavorite';
致:
同时更改:var$uses='SubmissionFavorite'代码>
收件人:public$uses=array('SubmissionFavorite')代码>首先,按照蛋糕惯例,您应该将您的模型命名为SubmissionsFavorite(注意Submission和Favorite之间的s)。这是因为您的表名由两个字组成,甚至表示其他两个表之间的关系
此外,您不能执行$this->Submission->。。。在AppController上,不告诉cake什么是“提交”。查看此链接以了解如何初始化提交模型并在AppController上使用它:
问候。您的AppController中的第26行是哪一行…?嗯,有人建议我做第一件事public$name='SubmissionFavorite'
,但那没用。现在我得到了其他错误。这是正常的CakePHP约定吗?在文档中似乎找不到任何关于保存到没有表单的模型的内容。
var $name = 'SubmissionFavorite';
public $name = 'SubmissionFavorite';