请问类似像youtube页面可以显示你是否按过like或dislike这种的资料库栏位是如何设计的?并在用户到达该页面时去资料库判断出来?
我想的是否设计理念是这样
Post table
id picroute likeusers dislikeusers
1 img/0001.jpeg {1,3,4,6,11,44,233} {2,5,8,15,66,77,88}
在一个 栏位里面 就放进去了 以点选like的userid
请问这样的填法类似分隔号的用什么语法去一个个填在该栏位尾端吗?
在读取实是否可以在资料库处理语法就去读去比如说 likeusers是否有 11这个userid 而不用去将整个 likerusers 这个栏位从资料库取出然后再去用类似筛癣的进行php或javascript处理?
另外可否用sql语法去新增和删除某个userid不是整个栏位取出后 删除 在整个栏位用更新放回栏位?
可能有人想说我为何不考虑整个table 但是我觉得一个youtube一个文章有like dislike的就去制造一个table去容纳已经点选like的userid 也制造太多table了吧!
所以想要达到的效果是
一个页面里面有多个图片比如说九个图片
每个图片上面都有一个like和dislike 的钮和显示数字
当用户进到这个页面 去资料库取出 就各图片的连接src 然后将用户的userid 去比对每个 post table里面的 单一个id的 userlike阵列里面是否有该userid
若likeusers有该userid的话 显示已按like不能点选了 但是dislike可以点选的状态
反过来亦然
然后如果两个栏位都没有userid的话 那就like和dislike都显示可以选取的状态
不知道这样的设计理念是可以的吗?还是有哪种方式可以实现呢?
我想要知道后用laravel写出来 但是现在还不知道可以用什么sql语法
去将userid写入同一个栏位或查训在同一个栏位是否有该userid还有如何去个别删除 增加某个userid?
建议先熟悉下文档,在laravel里面要达到类似的需求是非常容易的,使用一下多对多关联就可以了。
先建立相应的模型和表:
User模型
users表
Post模型
posts表
然后在模型中添加相应的关联,前面也说了点赞这种适合使用多对多关联
User模型
Post模型
这时候在控制器中只要调用如下方法就可以了:
更多关于多对多的用法请查看文档
https://laravel-china.org/doc...