为了账号安全,请及时绑定邮箱和手机立即绑定

如何实现 “某人指定隐藏某一条数据,不影响其他人”?

如何实现 “某人指定隐藏某一条数据,不影响其他人”?

PHP
跃然一笑 2019-03-18 14:43:25
1.有一个公共数据表,所有用户都可以查看2.所有用户都可以选择隐藏任意一条记录,(仅那个用户)以后查询不显示该条记录,但不影响其他人怎么实现比较好?再使用一个表记录吗?感谢大佬们的回答~
查看完整描述

5 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

 加一个隐藏的表 record_hide 字段 user record_id

select * from record r left join record_hide h left join r.id != h.record_id where h.user = $user_id

查看完整回答
反对 回复 2019-03-18
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

恩,id, user_id, record_id, created_at
查询的时候可以left join,为null的就显示出来

查看完整回答
反对 回复 2019-03-18
?
MYYA

TA贡献1868条经验 获得超4个赞

这个可以放到cache里面,做永久缓存,做成黑名单的形式
user_id 作为key值 ,value 则是一个或者多个隐藏的记录ID
每次展示给用户的时候 查看当前列表ID是否在黑名单,在就释放掉。
也可以单独放表记录,但是cache的效率比db高的多.

查看完整回答
反对 回复 2019-03-18
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

再用一张表这是肯定的总得有地方存储吧
可以联表查或者查询前先将用户隐藏的记录ID查出来, where中再通过<>{id}查询

查看完整回答
反对 回复 2019-03-18
?
守着一只汪

TA贡献1872条经验 获得超3个赞

加个flag字段是最方便的

查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 547 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信