我很长一段时间尝试与CakePHP获得一个简单的listmenu关系两张表,但它不起作用。当我能够脚手架列表菜单的工作(是否显示关系是正确的?)但我的代码不是。CakePHP:调用一个非对象的成员函数find()
我的网址(本地主机/论坛/职位/加)显示错误:
Error: Call to a member function find() on a non-object
File: C:\wamp\www\forum\app\Controller\PostsController.php
PostsController.php
class PostsController extends AppController {
public $name = 'Posts';
public function index() {
$this->paginate = array('limit'=>3);
$posts = $this->paginate('Post');
$this->set(compact('posts'));
}
public function getCategorias(){
$categorias = $this->Post->Categotia->find('list', array('fields' => array('id', 'categoria')));
$this->set(compact('categorias'));
}
public function add(){
if($this->data){
if($this->Post->save($this->data))
$this->Session->setFlash('Post adicionado com sucesso');
$this->data = array();
}
self::getCategorias();
}
public function edit($id = null){
if($this->data){
if($this->Post->save($this->data))
$this->Session->setFlash('Post editado com sucesso');
$this->redirect(array('controller'=>'Posts','action'=>'index'));
}else{
$this->data = $this->Post->read(null,$id);
}
self::getCategorias();
}
public function delete($id = null){
if($id){
if($this->Post->delete($id))
$this->Session->setFlash('Post Excluido com sucesso');
$this->redirect(array('controller'=>'Posts','action'=>'index')) ;
}
}
public function view($id = null){
if($id){
$this->Post->id = $id;
$this->set('post', $this->Post->read());
}
}
}
我的模型
帖子.php:
class Post extends AppModel{
public $name = 'Post';
public $belongsTo = array('Categoria');
}
Categoria.php
class Categoria extends AppModel{
public $name = 'Categoria';
public $hasMany = array('Post');
}
什么是你的表名? – Parris
我的表名是“帖子”和“分类” –