前提・実現したいこと
テーブルのデータを自由に追加・編集・削除できる画面を作っています。
その中の項目の一つに表示順というのがあります。
表示順は上のデータから1,2,3...と数値が振られています。
レコードを一つ削除してしまうと、表示順が飛び飛びになってしまいます。
ですので、表示順を1から振りなおしたいです。
しかしどのような関数を使えばいいのかが分かりません。
ご教授のほど、よろしくお願いいたします。
###削除関係の関数
public function detail($id = 0) { $this->autoRender = false; $this->response->type('json'); // $idの確認 if (! ctype_digit($id) && $id !== 0) { $this->response->statusCode(403); return json_encode(['error' => ['message' => 'ID以外の値が渡されました。'. $id]]); } if ($this->request->is('get')) { $office = $this->MtCarAppliance->find('first', ['conditions' => ['id' => $id]]); if (empty($office)) { $this->response->statusCode(404); return json_encode(['error' => ['message' => '未登録のIDが指定されました。'. $id]]); } else { return json_encode(['success' => 'success', 'data' => $office]); } } elseif ($this->request->is('post')) { if ($id > 0) { $this->request->data['MtCarAppliance']['id'] = $id; $this->MtCarAppliance->id = $id; $data['id'] = $id; } else { $this->MtCarAppliance->create(); } if ($this->MtCarAppliance->save($this->data)) { if ($id <= 0) { $id = $this->MtCarAppliance->id; } return json_encode(['success' => 'success', 'data' => $this->request->data]); } else { $this->response->statusCode(500); return json_encode(['error' => ['message' => '保存に失敗しました。']]); } } elseif ($this->request->is('delete')) { // 削除 if ($id > 0) { /* if ($this->User->find('count', ['conditions' => ['MtOffice_id' => $id]]) > 0) { * $this->response->statusCode(403); * return json_encode(['error' => ['message' => '使用中の権限です。未使用にしてから削除してください。']]); * } */ $this->MtCarAppliance->id = $id; if ($this->MtCarAppliance->delete($id, true)) { return json_encode(['success' => 'success', 'data' => []]); } else { $this->response->statusCode(500); return json_encode(['error' => ['message' => '削除に失敗しました。']]); } } else { $this->response->statusCode(403); return json_encode(['error' => ['message' => 'IDを送信してください。']]); } } $this->response->statusCode(403); return json_encode(['error' => ['message' => '仕様で定義されていないMETHODです。']]); }
回答2件
あなたの回答
tips
プレビュー