以下のフォームの製品検索ページがあります。検索結果は同じページに表示され、上部に検索バーが表示されます。
echo $this->Form->create('Searches', array('action'=>'products', 'type' => 'get', 'name' => 'textbox1'));
echo $form->input($varName1, array('label' => false));
echo $form->end('Locate');
また、検索結果の横に小さなボックスがあり、ユーザーはチェックボックスを使用して製品にフラグを立て、それに応じてボタンをクリックするだけでデータベース(テーブルproducts
とモデルを使用)を更新できます。この検索ページProduct
のコントローラーがあることに注意してください。Searches
<form method="link" action="/myapp/product/test_update_db>
<label><input type="checkbox" name="flag1" <?php echo $preCheckBox1; ?>>Flag 1</input></label>
<label><input type="checkbox" name="flag2" <?php echo $preCheckBox2; ?>>Flag 2</input></label>
<input type="submit" value="Update">
</form>
このチェックボックスとDBの更新ルーチンを実行する方法を理解するのにこのアプローチで問題があります。行きたいリンク( )にたどり着きましたが、変数と、この結果の行ID()を新しいページに移動/myapp/product/test_update_db
する方法がわかりません。flag1
flag2
$results['Product']['id'])
誰かがこれをきちんと実行する方法を教えてもらえますか?この一般的なアプローチは正しいですか?そうでない場合、私はどのルートを取るべきですか?可能であれば、現時点ではjavascriptを使用しないことをお勧めします。
編集:データを渡すためにURLを使用すれば、これを機能させることができると思います。しかし、これを「内部」またはMVCでどのように実行できるかを知りたいです。CakePHPプラットフォームをハッキングしているような気がします。
更新:それで、flag1
やのような情報を取得するためにURLパラメーターを使用することになりflag2
ました。私はまだ別の方法を探しています。