我不知道如何将更改从下拉菜单保存到数据库。
我从数据库中获取列表。
$list_categories = ORM::factory('category')->find_all()->as_array('category_id','category_name');
我抓取已保存在数据库中的所选类别。
$selected_category = $edit_forum->category_id;
我回复下拉菜单。
Form::select('category', $list_categories, $selected_category);
假设它列出了A,B,C。B是当前选择的类别,我想将其更改为A.我想将此更改保存到数据库,但不知道如何。
我目前正在执行以下操作以保存到数据库:
$edit_forum->values($this->request->post());
$errors = array();
try {
$edit_forum->save();
$this->request->redirect('acp/forums');
} catch (ORM_Validation_Exception $ex) {
$errors = $ex->errors('validation');
}
上述内容适用于文本字段,但不适用于下拉菜单。
编辑:我的问题似乎是我无法更改category_id。谁知道怎么样? category_id是外键。
答案 0 :(得分:0)
$edit_forum = new Model_Category($this->request->param('id'));
if ( ! $edit_forum->loaded())
throw new HTTP_Exception_404("Category not found");
if ($this->request->post())
{
try
{
$edit_forum->values($this->request->post())
->update();
//if you want to make redirection somewhere after update
//$this->redirect('');
}
catch (ORM_Validation_Exception $e)
{
$this->view->errors = $e->errors('');
}
}
如果我做对了你想要的。希望这有帮助。
<select id="category" name="category_id">
<option value="category_id">category_name</option>
</select>
答案 1 :(得分:0)
我明白了。我的路线,规则和标签都是错误的。