質問編集履歴

2

マスタの説明追加

2019/12/18 08:32

投稿

kuuhaku4262
kuuhaku4262

スコア39

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- マスタを作成しています。
5
+ テーブルのデータを自由に追加・編集・削除できる画面をています。
6
6
 
7
7
  その中の項目の一つに表示順というのがあります。
8
8
 

1

ソースコードの追加

2019/12/18 08:32

投稿

kuuhaku4262
kuuhaku4262

スコア39

test CHANGED
File without changes
test CHANGED
@@ -15,3 +15,145 @@
15
15
  しかしどのような関数を使えばいいのかが分かりません。
16
16
 
17
17
  ご教授のほど、よろしくお願いいたします。
18
+
19
+
20
+
21
+ ###削除関係の関数
22
+
23
+ ```
24
+
25
+ public function detail($id = 0) {
26
+
27
+ $this->autoRender = false;
28
+
29
+ $this->response->type('json');
30
+
31
+
32
+
33
+ // $idの確認
34
+
35
+ if (! ctype_digit($id) && $id !== 0) {
36
+
37
+ $this->response->statusCode(403);
38
+
39
+ return json_encode(['error' => ['message' => 'ID以外の値が渡されました。'. $id]]);
40
+
41
+ }
42
+
43
+
44
+
45
+
46
+
47
+ if ($this->request->is('get')) {
48
+
49
+
50
+
51
+ $office = $this->MtCarAppliance->find('first', ['conditions' => ['id' => $id]]);
52
+
53
+
54
+
55
+ if (empty($office)) {
56
+
57
+ $this->response->statusCode(404);
58
+
59
+ return json_encode(['error' => ['message' => '未登録のIDが指定されました。'. $id]]);
60
+
61
+ } else {
62
+
63
+ return json_encode(['success' => 'success', 'data' => $office]);
64
+
65
+ }
66
+
67
+ } elseif ($this->request->is('post')) {
68
+
69
+
70
+
71
+ if ($id > 0) {
72
+
73
+ $this->request->data['MtCarAppliance']['id'] = $id;
74
+
75
+ $this->MtCarAppliance->id = $id;
76
+
77
+ $data['id'] = $id;
78
+
79
+ } else {
80
+
81
+ $this->MtCarAppliance->create();
82
+
83
+ }
84
+
85
+
86
+
87
+ if ($this->MtCarAppliance->save($this->data)) {
88
+
89
+ if ($id <= 0) {
90
+
91
+ $id = $this->MtCarAppliance->id;
92
+
93
+ }
94
+
95
+
96
+
97
+ return json_encode(['success' => 'success', 'data' => $this->request->data]);
98
+
99
+ } else {
100
+
101
+ $this->response->statusCode(500);
102
+
103
+ return json_encode(['error' => ['message' => '保存に失敗しました。']]);
104
+
105
+ }
106
+
107
+ } elseif ($this->request->is('delete')) {
108
+
109
+ // 削除
110
+
111
+
112
+
113
+ if ($id > 0) {
114
+
115
+ /* if ($this->User->find('count', ['conditions' => ['MtOffice_id' => $id]]) > 0) {
116
+
117
+ * $this->response->statusCode(403);
118
+
119
+ * return json_encode(['error' => ['message' => '使用中の権限です。未使用にしてから削除してください。']]);
120
+
121
+ * } */
122
+
123
+
124
+
125
+ $this->MtCarAppliance->id = $id;
126
+
127
+ if ($this->MtCarAppliance->delete($id, true)) {
128
+
129
+ return json_encode(['success' => 'success', 'data' => []]);
130
+
131
+ } else {
132
+
133
+ $this->response->statusCode(500);
134
+
135
+ return json_encode(['error' => ['message' => '削除に失敗しました。']]);
136
+
137
+ }
138
+
139
+
140
+
141
+ } else {
142
+
143
+ $this->response->statusCode(403);
144
+
145
+ return json_encode(['error' => ['message' => 'IDを送信してください。']]);
146
+
147
+ }
148
+
149
+ }
150
+
151
+
152
+
153
+ $this->response->statusCode(403);
154
+
155
+ return json_encode(['error' => ['message' => '仕様で定義されていないMETHODです。']]);
156
+
157
+ }
158
+
159
+ ```