讨论区中,文章回覆中的「#楼层」怎样处理最好?
一开始我是在帖子的sql 表中加入了 sort
每次回帖时都会
$post->sort = Post::where('topic_id',$id)->max('sort')+1;
...
$post->save();
后来则发觉,当删除时会发现问题
比如删除#2
#3
就会直接显示
#1
#4
#5
暂时缓解的方法
那我想到直接用$loop->index
我是一页15个帖子, 所以就这样来计算了一下
<span>
@if((request()->get('page')>0))
#{{$loop->index+1+(request()->get('page')*15)-15}}
@else
#{{$loop->index+1}}
@endif
</span>
用以上代码是ok了,同时也不用使用SQL来记录楼层,
但问题来了,是不是很费劲吗?一页15层要计算15次很消耗多馀的资源?
有没有更好的方法建议一下?
是否要做成,每次删帖时,都自动把sort 补齐/往前进一位??
感觉是不是用SQL在做比较好?
毕竟浏览的人
比操作删除动作
的人会多很多很多?
如果真的这样比较好的话,在Laravel中又该要怎样做?
望各位有经验的前辈指点一下
1. 问题分析 :
2. 解决方法
索引值
计算显示楼层。sort
批量加1(也就是批量更新,或批量自增)。不过这个要发生在数据没有出现断层的时候。