0

私の質問は、削除したばかりのレコードを考慮に入れるために、ビュー「search.ctp」を更新するにはどうすればよいですか。問題は次のとおりです。

私のコントローラーコード

public function search() {
    if ($this->request->is('post')) {
        $this->set("isPost", TRUE);
        $query = $this->data;
        $output = $this->Question->find("all",             array("conditions"=>array("Question.lectureId"=>$query["Lecture"]["Lecture"],
                                                                         "Question.type"=>$query["Lecture"]["status"])));
        $this->set("questions", $output);


    } else {
        $this->LoadModel("Lecture");
        $outputL = array();
        $for = $this->Lecture->find("all", array("fields" => array("_id", "title")));
        foreach ($for as $key => $value) {
            $outputL[$value["Lecture"]["_id"]] = $value["Lecture"]["title"];
        }
        $this->set("lectures",$outputL);
        //
        $statuses = array(
            "" => "Select a question type",
            "anonymousQuestion" => "anonymousQuestion",
            "handUp" => "handUp",
            "userQuestion" => "userQuestion"
            );
        $this->set("statuses", $statuses);
    }   
}

したがって、次のことが起こります。ビュー「search.ctp」(「myadmin interface」)を開き、2つの検索パラメーターを設定し、送信ボタンを使用してそのデータを投稿します。次に、IFステートメントはそれをPOStとして認識し、クエリ結果を返します。問題は、レコードを削除するときです...クエリパラメータを再度入力するために検索アクションにリダイレクトされます...同じクエリパラメータでページを更新し、ビューを離れないようにするにはどうすればよいですか。

o削除機能コードを忘れました:

            public function delete($id = null) {
    if (!$this->request->is('post')) {
        throw new MethodNotAllowedException();
    }
    $this->Question->id = $id;
    if (!$this->Question->exists()) {
        throw new NotFoundException(__('Invalid configuration'));
    }
    if ($this->Question->delete()) {
        $this->Session->setFlash(__('Question deleted'));
    return $this->redirect(array("action"=>"search"));
    }
    $this->Session->setFlash(__('Question was not deleted'));
    $this->redirect(array('action' => 'search'));
}
4

1 に答える 1

1

回避策として、検索関数がPOSTリクエストで実行するのと同じことをGETリクエストで実行する別の関数を作成しました。基本的に、クエリパラメータを使用してデータを返します。そして、Session Helperを使用して、クエリを他の関数に引き継ぎました。それがどれほど賢かったかはわかりませんが、それは私にとってはトリックです...誰かが私が別の関数/ビューを作成する必要がない解決策を持っているかどうかを知ることはそれでもいいでしょう

于 2013-03-05T17:23:56.337 に答える