所以我有点迷失在这一部分。在我的网站上,我想让用户能够喜欢个人资料页面。
所以我的逻辑是这样的。我有一个名为user_likes
的数据库表,它包含3行,id, user_id, liked_by
。
实际的配置文件页面上有一个类似按钮,上面有一个类。当用户点击它时,将数据插入到user likes table
中,并使用ajax将按钮文本更改为不像,将类更改为不像。这就是我被卡住的地方。
所以配置文件有一个has many relation likes
,我可以计算收到的点赞数,但我被困在如何在页面刷新后保持按钮不亮的部分。
因为我的逻辑是这样的(但失败了):单击按钮,使用ajax插入数据,使用ajax更改按钮,获取点赞id,如果这等于登录用户id,则保持按钮未点赞。
但是由于它返回了一个数组列表,所以我不能这么做。
所以我不想让任何人为我编写代码,如果这不是一个很大的请求,我只想得到一个提示。
我看到你在FuelPHP论坛上发布了同样的问题,所以在这里我会尝试给你另一个解决方案。
为什么您的关系需要"id,user_id,liked_by"?我认为你可以改进你的数据库修改一点你的标签。
阅读你的问题,我认为你有这样的结构:
// USER TABLE
id
username
... something more
如果你创建一个名为"LIKE"的表,你会遇到这样的情况:
// LIKE
id
created_at
modified_at
... something more
因此,现在您可以使用名为"users_likes"的表创建多对多关系,其中包含:
// USERS_LIKES
profile_id // it wil be related to the user_id, is the user's profile being liked
liker_id // it will be the user_id of the user that likes the profile
因此,如果您想检索类似的数量,您将在当前用户模型或配置文件用户模型中获得所有信息。