0

コントローラーには2つのアクションがあります。フォームを表示し、関連する HABTM モデルからフォーム フィールドのリストを取得する最初のアクション。検索を実行して結果を表示する 2 番目のアクション。

最初のアクション:

public function advancedSearch() {
    $this->set($this->Restaurant->fetchRelatedData());    
}

また、次のフォームを表示するこのアクションのビューがあります: advancedSearch.ctp

echo $this->Form->create(null, array(
        'type' => 'get',
        'url' => '/restaurants/search', 'inputDefaults' => array(
        'label' => false,
        'div' => false
)));

echo $this->Form->input('companyname', array('label' => 'Name:'));
echo $this->Form->input('addr', array('label' => 'Address:'));
echo $this->Form->input('district_id', array('label' => 'District:'));
echo $this->Form->input('Station', array('label' => 'Subway station(s):'));
// etc.

echo $this->Form->end('Go!');

ご覧のとおり、このフォームは、実際の検索を実行する 2 番目のアクションにデータを送信します。検索アクションでページネーション コンポーネントを使用していることに言及する必要があります。このため、GET メソッドを使用します。

私の問題は、ユーザーがいくつかの「単純な」フィールドといくつかの複数選択フィールドを選択し、フォームを送信してから、検索結果を絞り込みたい場合があることです。そのため、データをフォームに戻し、ユーザーが以前に選択した値をフィールドに入力する機能を実装する必要があります。どうやってやるの?ありがとう。

4

0 に答える 0