2011-07-18 6 views
2

Zend Frameworkを使い始めたばかりなので、少しばかげた質問が出てくるかもしれません。Zend Framework Updateデータベース内のチェックボックス

私は5つのチェックボックスを持つフォームを持っています。ユーザーは必要に応じて多くのチェックボックスをクリックできます。これはデータベースに入力されます。 (1:n)

これはすべて問題なく動作します。しかし今、私はユーザーが投稿を編集できる部分に行きました。チェックボックスはアクティブになっているだけでなく表示されます。しかし、私はこれをどのように更新するのですか?

ポスト更新データを収集し、正常に動作し、アップデートを送るの残り:Nの関係:

$this->getDbTable()->update($data, array('post_id = ?' => $id)); 

は今、私はチェックボックス、1を更新します。しかし、もし私が例えば4つのチェックボックスをアクティブにしていたのですが、アップデート後に3つしかアクティブにしたくない場合、どうすればいいですか?最初にすべてのエントリを削除し、通常の挿入を行うか、それともやりたいのですか?

誰かが助けてくれることを願っています。ありがとう!

+1

の値とチェックボックスと同じ名前の隠し入力を作成し、私はあなたの問題はZend Frameworkの特定のグッド –

答えて

0

あなたのデータベースに存在する行は、チェックする必要があることを示すものであると仮定すると、update()関数はそれを行わないため、削除する必要があります。

削除/再挿入の操作が高すぎる場合は、チェックされた値をセッションに保存し、array_diff($previous_selected, $currently_selected)を実行して削除するアイテムのリストを取得します。注意すべき

ことの一つは、デフォルトでformCheckboxビューヘルパーが0

+0

であるとは思わないということですどうもありがとう。私はこれをすでに想定していましたが、ZFが自動的にそれを提供するかどうかは分かりませんでした。 これはいくつかのチェックボックスになるので、IDを持つすべてを削除してから挿入します。 よく機能します。どうもありがとうございました ! – Luka

関連する問題