フォームの渡された ID を別のフォームに保持するにはどうすればよいですか? たとえばhttp://192.168.6.253/computers/brands/table/4
、ブランドのすべてのレコードを表示するのは、computer_id = 4 のコンピューターに属するブランドです。今私は add() を持っていますhttp://192.168.6.253/computers/brands/add
。
私の問題は、computer_id=4 を保持して、新しいブランドを追加したときにそれを DB の Brand.computer_id に保存することです。だから私も何かが欲しいhttp://192.168.6.253/computers/brands/add/4
。
ここで、ビューで add() を呼び出す方法
echo $this->Html->link('Add Brands Here', array(
'controller' => 'brands',
'action' => 'add'))
);
ここで、コンピュータービューでもテーブルブランドを呼び出す方法
echo $this->Html->link('P',array('action' => '../brands/table', $computer['Computer']['id']));
そして、私のブランドの add() および table() コントローラー
public function table($id = null){
if (!$id) {
throw new NotFoundException(__('Invalid post'));
}
$this->paginate = array(
'conditions' => array('Brand.computer_id' => $id),
'limit' => 10
);
$data = $this->paginate('Brand');
$this->set('brands', $data);
}
public function add() {
if ($this->request->is('post')) {
$this->Brand->create();
if ($this->Brand->save($this->request->data)) {
$this->Session->setFlash(__('Your post has been saved.'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('Unable to add your post.'));
}
}
}