質問編集履歴

2

質問の追加

2018/12/21 08:14

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -132,6 +132,8 @@
132
132
 
133
133
 
134
134
 
135
+ 質問❶
136
+
135
137
  今いいね、いいね解除追加のためにpostingsテーブルにいいねのの数を保存するlikeカラム(いいねで数が増え、解除で数がへる)と
136
138
 
137
139
  誰がいいねしたのかを把握するカラムを追加しようと考えていたのですが、
@@ -168,6 +170,14 @@
168
170
 
169
171
  ```
170
172
 
173
+ 質問❷
174
+
175
+ 又この場合、created_atとupdated_atの違いはなんでしょうか。
171
176
 
172
177
 
178
+
179
+ 質問❸
180
+
173
- 又この場合、created_atとupdated_atの違はなんでしょうか。
181
+ created_atとupdated_at にそれぞれプライマリーキーがつていますが、
182
+
183
+ これは(1,3),(2,4),(4,2),(3,1)という値があった場合、数字の組み合わせがキーであると考えていいですか。

1

質問の不備

2018/12/21 08:13

投稿

Chandler_Bing
Chandler_Bing

スコア673

test CHANGED
File without changes
test CHANGED
@@ -1,23 +1,173 @@
1
- ツイートを表すクラスとして
1
+ 【質問編集】
2
2
 
3
3
 
4
4
 
5
- フィールド変数以下存在します。
5
+ 以前の質問不十分過ぎましたのもう一度質問させていただきます。
6
6
 
7
7
 
8
8
 
9
- $user
9
+ ★現在作成中のSNSサイトについて
10
10
 
11
- $body
11
+ 相互フォローのユーザーのみ投稿を閲覧できる。
12
12
 
13
+ いいね、いいねの解除ができる。
14
+
13
- $time
15
+ FBと同じ友達かも機能
16
+
17
+ FBと同じ共通の友達機能
14
18
 
15
19
 
16
20
 
17
- ツイート全てデータベース保存していす。
21
+ ザックいりとこのような感じです。ここでの質問関係しているのは上の二つ(特にいいね)です。
18
22
 
19
23
 
20
24
 
21
- ここに「いいね機能」を追加させる場合は
25
+ ```PHP
22
26
 
27
+ <?php
28
+
29
+
30
+
31
+ class Posting
32
+
33
+ {
34
+
35
+ public $id = '';
36
+
37
+ public $userid = '';
38
+
39
+ public $body = '';
40
+
41
+
42
+
43
+ public function __construct($id, $userid, $body)
44
+
45
+ {
46
+
47
+ $this ->id = $id;
48
+
49
+ $this ->userid = $userid;
50
+
51
+ $this ->body = $body;
52
+
53
+ }
54
+
55
+ }
56
+
57
+
58
+
59
+ ```
60
+
61
+
62
+
63
+ ```PHP
64
+
65
+ <?php
66
+
67
+
68
+
69
+ class User
70
+
71
+ {
72
+
73
+ public $id = '';
74
+
75
+ public $name = '';
76
+
77
+
78
+
79
+ public function __construct($id, $name)
80
+
81
+ {
82
+
83
+ $this ->id = $id;
84
+
85
+ $this ->name = $name;
86
+
87
+ }
88
+
89
+ }
90
+
91
+
92
+
93
+ ```
94
+
95
+
96
+
97
+ ```SQL
98
+
99
+ CREATE TABLE `postings` (
100
+
101
+ id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
102
+
103
+ userid int(11) NOT NULL,
104
+
105
+ body varchar(1000) NOT NULL,
106
+
107
+ time datetime NOT NULL
108
+
109
+ );
110
+
111
+ ```
112
+
113
+
114
+
115
+ ```SQL
116
+
117
+ CREATE TABLE `user` (
118
+
119
+ userid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
120
+
121
+ name varchar(100) NOT NULL,
122
+
123
+ pass varchar(100) NOT NULL
124
+
125
+ ) ;
126
+
127
+ ```
128
+
129
+
130
+
131
+ これらが関係しているSQLテーブルとオブジェクトのクラスです。
132
+
133
+
134
+
135
+ 今いいね、いいね解除追加のためにpostingsテーブルにいいねのの数を保存するlikeカラム(いいねで数が増え、解除で数がへる)と
136
+
137
+ 誰がいいねしたのかを把握するカラムを追加しようと考えていたのですが、
138
+
139
+
140
+
141
+ 以下のようなlikeテーブルを作った方が得策でしょうか。
142
+
143
+
144
+
145
+ ```SQL
146
+
147
+ CREATE TABLE `likes` (
148
+
149
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
150
+
151
+ `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
152
+
153
+ `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
154
+
155
+ `article_id` bigint(20) NOT NULL DEFAULT '0',
156
+
157
+ `user_id` bigint(20) NOT NULL DEFAULT '0',
158
+
159
+ PRIMARY KEY (`id`),
160
+
161
+ UNIQUE KEY `ix01_likes` (`user_id`,`article_id`),
162
+
163
+ KEY `ix02_likes` (`user_id`),
164
+
165
+ KEY `ix03_likes` (`article_id`)
166
+
167
+ ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;
168
+
169
+ ```
170
+
171
+
172
+
23
- カラムを追加しデータベースに保存するというやり方が適切だと思うのすがどですか。
173
+ 又この場合created_atupdated_atの違はなんしょうか。