配列を構築し、ループ内のいくつかのフィールドを更新しようとしています。
これは私のリクエストです->データ
Array
(
[list] => Array
(
[4] => null
[2] => null
[3] => null
[5] => 3
)
)
これは、jquery のシリアル化されたリストからの戻り値です。キーは行 ID であり、値は行のparent_id です。
したがって、コントローラーの配列をループします。
foreach ($this->request->data['list'] as $key => $value) {
(!isset($orders[$value])) ? $orders[$value]=0 : $orders[$value]++;
$data = array('id' => $key, 'parent_id' => (int)$value, 'display_order' => $orders[$value]);
$this->Category->save($data);
}
ループで作成した $data 配列は正しいですが、SQL ログには各行の SELECT COUNT(*) などしか表示されず、UPDATE コマンドは表示されません。
これを保存するためにあらゆる方法を試しました: set() メソッドを使用し、$this->Category->id = $key; を使用します。データ配列にキーを直接追加する代わりに。
これが保存されない理由はありますか?確かにシンプルなもので…