0

我不知道如何将下拉菜单中的更改保存到数据库。

我从数据库中获取列表。

$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 是一个外键。

4

2 回答 2

0

我想到了。我的路线、规则和标签是错误的。

于 2012-09-28T18:01:25.373 回答
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>
于 2012-09-27T21:55:04.380 回答