質問編集履歴
4
ソースコードが間違っていたため
test
CHANGED
File without changes
|
test
CHANGED
@@ -66,7 +66,7 @@
|
|
66
66
|
|
67
67
|
年齢:<input type="text" name="age">
|
68
68
|
|
69
|
-
<input type="submit>
|
69
|
+
<input type="submit">
|
70
70
|
|
71
71
|
</form>
|
72
72
|
|
3
ソースコードが間違っていたため
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
```go
|
14
14
|
|
15
|
-
router.
|
15
|
+
router.POST("/updUser", UpdUser)
|
16
16
|
|
17
17
|
…
|
18
18
|
|
2
表現が分かりにくいと思った為、修正しました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
gormで更新
|
1
|
+
POSTで渡した情報をgormで更新させたい
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
POSTで渡ったフォームの入力値をDBに更新したいですが、以下のUpdatesを使用した場合では、フィールドがintの値が0で更新されてしまいます。
|
6
6
|
|
7
|
-
以下のHTML例の名前・年齢以外の
|
7
|
+
以下のHTML例の名前・年齢以外の値に対してもupdUserにPOSTしてDBを更新させたいのですが、どのように変更すればよいのでしょうか。
|
8
8
|
|
9
9
|
お知恵をお貸し頂けるとありがたいです。
|
10
10
|
|
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
db.
|
37
|
+
db.Model(&User{}).Where("id = ?", 1).Updates(attrs)
|
38
38
|
|
39
39
|
}
|
40
40
|
|
1
一度目の登録を誤った為
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,53 +1,73 @@
|
|
1
|
-
|
1
|
+
Ginを用いてWebアプリケーションを作成しています。ORMはgormを使用しています。
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
POSTで渡ったフォームの入力値をDBに更新したいですが、以下のUpdatesを使用した場合では、フィールドがintの値が0で更新されてしまいます。
|
6
6
|
|
7
|
+
以下のHTML例の名前・年齢以外のフィールドに対してもupdUserにPOSTして更新させたいのですが、どのように変更すればよいのでしょうか。
|
8
|
+
|
7
|
-
|
9
|
+
お知恵をお貸し頂けるとありがたいです。
|
8
10
|
|
9
11
|
|
10
12
|
|
11
|
-
|
13
|
+
```go
|
12
14
|
|
15
|
+
router.GET("/updUser", UpdUser)
|
16
|
+
|
17
|
+
…
|
18
|
+
|
19
|
+
func (d *SettingController) UpdUser(ctx *gin.Context) {
|
20
|
+
|
13
|
-
|
21
|
+
ctx.Request.ParseForm()
|
22
|
+
|
23
|
+
postForm := ctx.Request.PostForm
|
14
24
|
|
15
25
|
|
16
26
|
|
27
|
+
attrs := make(map[string]interface{}, len(postForm))
|
28
|
+
|
17
|
-
|
29
|
+
for k, v := range postForm {
|
30
|
+
|
31
|
+
attrs[k] = strings.Join(v, "")
|
32
|
+
|
33
|
+
}
|
18
34
|
|
19
35
|
|
20
36
|
|
21
|
-
|
37
|
+
db.Engine.Debug().Model(&User{}).Where("id = ?", 1).Updates(attrs)
|
22
38
|
|
23
|
-
|
39
|
+
}
|
24
40
|
|
25
41
|
```
|
26
42
|
|
43
|
+
```go
|
27
44
|
|
45
|
+
type User struct {
|
28
46
|
|
29
|
-
|
47
|
+
ID int
|
30
48
|
|
49
|
+
Name string
|
31
50
|
|
51
|
+
Age int
|
32
52
|
|
33
|
-
|
53
|
+
Email string
|
34
54
|
|
35
|
-
|
55
|
+
…
|
56
|
+
|
57
|
+
}
|
36
58
|
|
37
59
|
```
|
38
60
|
|
61
|
+
```HTML
|
39
62
|
|
63
|
+
<form method="post" action="/updUser">
|
40
64
|
|
41
|
-
|
65
|
+
名前:<input type="text" name="name">
|
42
66
|
|
67
|
+
年齢:<input type="text" name="age">
|
43
68
|
|
69
|
+
<input type="submit>
|
44
70
|
|
45
|
-
|
71
|
+
</form>
|
46
72
|
|
47
|
-
|
48
|
-
|
49
|
-
### 補足情報(FW/ツールのバージョンなど)
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
73
|
+
```
|