グリッドの行の管理について質問があります。たとえば、次のような食料/コスト テーブルがあります。
Fruit | cost
------------
Apple | 10$
Bannan| 5$
次のようなフォームを作成できます。
<form>
<input type='text' name='Fruits[0][fruit] value='Apple' /> <input type='text' name='Fruits[0][cost] value='10$' /> <br>
<input type='text' name='Fruits[1][fruit] value='Bannan' /> <input type='text' name='Fruits[1][cost] value='5$' />
</form>
そして、次のようにすべて保存します。
if ($is_new)
if(isset($_POST['Fruits'])) {
foreach ($_POST['Fruits'] as $fruit) {
$model = new Fruit();
$model->attributes = $fruit;
$model->save();
}
}
} else { //here code for update, $model->load()... }
すべて問題ありません。両方の行を更新できます...しかし、新しく追加したい場合はどうすればよいですか? 上記のすべての優れた方法ですべてがうまくいきますが、1行削除するとどうなりますか? 私のベースには2行ありますが、必要なのは1行だけです。
ここで私が見る2つの方法:1. POSTカウント!=データベースカウントの場合、更新ごとにデータベースからすべての果物を削除します 2.データベース行をロードし、ループを記述し、すべての行をチェックできます...しかし、それは非常に難しく、非常に多くのコードです.. .
新しい行と削除された行をどのように管理していますか?