i have 2 table in database.there are categories and posts.
categories have id , name
posts have id , category
and i have 2 files.
PostsController.php
edit.ctp
i edit category by edit.ctp when i save its
image >> http://s704.photobucket.com/albums/ww41/018115496/edit.png
It is not save category's name but save a category's id into Posts.
image >> http://i704.photobucket.com/albums/ww41/018115496/index.png
This is my code
PostsController.php
class PostsController extends AppController {
public $helpers = array('Html', 'Form');
public $uses = array('Post','Category');
public function index() {
$this->set('posts', $this->Post->find('all'));
}
public function edit($id = null) {
$this->loadModel('Category');
$categories = $this->Category->find("list",array('field'=>array('Category.name')));
$this->set("categories", $categories);
if (!$id) {
throw new NotFoundException(__('Invalid post'));
}
$post = $this->Post->findById($id);
if (!$post) {
throw new NotFoundException(__('Invalid post'));
}
if ($this->request->is(array('post', 'put'))) {
$this->Post->id = $id;
if ($this->Post->save($this->request->data)) {
$this->Session->setFlash(__('Your post has been updated.'));
return $this->redirect(array('action' => 'index'));
}
$this->Session->setFlash(__('Unable to update your post.'));
}
if (!$this->request->data) {
$this->request->data = $post;
}
}
}
and edit.ctp
<?php
echo $this->Form->create('Post');
echo $this->Form->input('category', array('options' => $categories));
echo $this->Form->end('Save Post');
?>
i think i because find("list") but i don't know how to solve. Thank you.