php - 只喜欢一次帖子/评论,laravel

标签 php mysql database laravel

信息: 我有 2 个表(users 用于网站用户,new_themes 用于创建的主题/帖子(无论什么)由用户。

!!!这两个表之间没有关系。(用户登录后可以创建新帖子)

表格:

Users:
1   id 
2   name    
3   email   
4   password

New_themes:
1   id
2   title
3   text
4   upVotes
5   downVotes
6   TagName 

我想做什么:

我创建了用户可以喜欢帖子的功能(但他可以无限次喜欢它)但我希望他们一生只能喜欢一次帖子。

我想不通的是如何制作它的想法/结构/逻辑。我正在考虑创建一个表。表 users 和 new_themes 的“枢轴”(Laravel 中的多对多关系)

1 id_user
2 id_theme

它们都有一个复合主键,所以它们不会有任何重复值,所以如果用户想再次投票给同一个帖子,他不会因为没有重复值。

问题是:

如果这是解决方案,我对如何在用户喜欢主题时填充数据透视表存有疑问,也不知道。如果这不是解决方案,任何建议或想法都将对我完成我的 wep 应用程序的最后一个功能非常有帮助。

非常感谢。

最佳答案

What I can't figure out is the idea/structure/logic of how to make it. I am thinking of creating a table . A "pivot" one for tables users and new_themes(many to many relationship in Laravel)

这就是要走的路。所以它看起来像这样:

+---------+----------+
| user_id | theme_id |
+---------+----------+
| 1       |        1 |
+---------+----------+
| 12      |        1 |
+---------+----------+
| 14354   |        1 |
+---------+----------+

要“喜欢”一个主题,只需将用户和主题 ID 插入表中即可。剩下的只是处理来自数据库的响应 - 为用户多次尝试喜欢某个东西提供反馈等。

当然,您不应该忘记取消赞的功能 - 所以您需要再次从表中删除...如果您希望用户取消赞。

关于php - 只喜欢一次帖子/评论,laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393697/

相关文章:

php - 基于内部数组键值对数组排序

php - While 循环不会返回给定记录的所有值

mysql - MySql 中 NULL == 0?

java - 自动增量 ID java db

php - Symfony 2 - 在 Twig 模板中访问层次角色

php - 如何将 0000 加 1 并保持格式化?

MYSQL:按具有相似数据的2列排序

java - Spring 应用程序未在 MySQL 上创建表

database - 移动应用程序的后端 - 使用哪个以及为什么?

mysql - 同一类型的多个表的数据库设计