0
CREATE TABLE post_likes (
post_id INT NOT NULL,
user_id INT NOT NULL,
likes BOOLEAN NOT NULL,
FOREIGN KEY (post_id) REFERENCES posts(id),
FOREIGN KEY (user_id) REFERENCES users(id),
PRIMARY KEY (user_id, post_id)
)
+-------+---------+---------+
| likes | post_id | user_id |
+-------+---------+---------+
| 1 | 1 | 1 |
| 1 | 1 | 2 |
| 0 | 2 | 1 |
| 0 | 2 | 2 |
+-------+---------+---------+
我正在使用NodeJS和EJS作为模板语言。现在我将表post_likes传递给我的EJS。并试图做一个for循环。基本上在表1中=真或类似,0 =假或不喜欢。所以我有一个柜台,如果它是一个像我做counter ++ else counter--。但它看起来不好。也因为某种原因不工作什么是更好的方法来做到这一点。如何显示喜欢/不喜欢的MySQL,NodeJS
我试过 - 我排除了不需要的代码的其他部分。我删除了ejs右括号并打开以使其更具可读性。
<% var counter = 0 %>
for(var i = posts.length-1; i >= 0; i--) {
if(posts[i].post_likes.length > 0) {
for(var j = 0; j < posts[i].post_likes.length; j++) {
if(posts[i].post_likes[j].likes == true) {
counter = counter + 1 %>
}
else if(posts[i].post_likes[j].likes == false) {
counter = counter - 1
}
}
}
}
<h1><%= counter %></h1>