Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos, estou a muito tempo tentando resolver um problema simples com cakephp. Emocionalmente eu acho tenho ficado até um pouco frustrado e chateado por conta disso, pois tento resolver isso desde que fiz um curso de cakephp em dezembro deste ano. Estou até interessado em aulas particulares se alguém se interessar.
Enfim, chega de apelo vamos ao que interessa.
Tenho duas tabelas, posts e categorias
Estou criando um formulário para cadastrar novos posts e gostaria de ter um select menu para escolher a categoria do mesmo. Mas não consigo fazer funcionar o select e na tela o erro impresso é o seguinte:
url(http://localhost/forum/posts/add)
Error: Call to a member function find() on a non-objectFile: C:\wamp\www\forum\app\Controller\PostsController.php
Line: 13
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->Categotias->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());
}
}
}
Models:
Post.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');
}
Peço ajuda, por favor!
Carregando comentários...