1

グリッドの行の管理について質問があります。たとえば、次のような食料/コスト テーブルがあります。

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.データベース行をロードし、ループを記述し、すべての行をチェックできます...しかし、それは非常に難しく、非常に多くのコードです.. .

新しい行と削除された行をどのように管理していますか?

4

1 に答える 1