我是一個帶cakephp的pre-newbie。 我有一個 「用戶」 表和 「類別」 表如何正確解決與cakephp形式的關聯數據2.3
用戶屬於關聯類別(領域:users.id,users.name,users.category) 類的hasMany用戶(字段:category.id,category.name ,users.category)
我正在尋址像這樣的數據關聯。
在(用戶)edit.ctp我把
// view/Users/edit.ctp
echo $this->Form->input('name');
echo $this->Form->input('categories', array('value' => $this->Form->value('User.category'),
'name'=>'data[User][category]'));
</pre>
in users controller I have
<pre>
public function edit($id = null) {
$this->User->id = $id;
if (!$this->User->exists()) {
throw new NotFoundException(__('Invalid user'));
}
if ($this->request->is('post') || $this->request->is('put')) {
if ($this->User->save($this->request->data)) {
$this->Session->setFlash(__('The user has been saved'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The user could not be saved. Please, try again.'));
}
} else {
$this->request->data = $this->User->read(null, $id);
}
$sexes = $this->User->Sex->find('list');
$categories = $this->User->Category->find('list');
$this->set(compact('categories'));
}
一切工作,但我懷疑還有一個更簡單的方法來做到這一點的形式。 這是真的需要嗎?數組('value'=> $ this-> Form-> value('User.category'),'name'=>'data [User] [category]')
沒有這些參數select框不會突出顯示所選選項,並且不會保存任何內容。
就應該像這樣
echo $this->Form->input('Category.name');
例如?但是這樣的代碼不顯示選擇框。
它不保存users.category字段。
我無法找到關於此示例的任何教程或代碼。 鏈接將不勝感激。