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
$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 に答える
0

私はそれを考え出した。私のルート、ルール、ラベルが間違っていました。

于 2012-09-28T18:01:25.373 に答える