1
wysnylc 2020-04-17 14:35:28 +08:00
加字段没问题
|
3
jjianwen68 2020-04-17 14:58:58 +08:00
单加一个字段表示排序,不太够吧,置顶,按标签筛选后的排序呢
|
4
StyxS OP @jjianwen68 置顶是独立于排序的这个顺序的,单独弄了个置顶表
如果按标签筛选排序,用 order 没什么毛病:按标签筛了以后再按 order 排 这样一想的话,好像限制只能上移下移顺序,就不用处理 order 更改麻烦的问题 |
5
KentY 2020-04-17 16:33:06 +08:00
@StyxS 你如果需要顺序这个信息 persist 在数据库里, 当你修改了这个(比如移动了), 肯定这个文章 entry 会被 update.没问题.
你用 `IDENTITTY @generatedValue` 肯定不行, 因为你要的 order 不是 identity 你说道:"移动顺序时,就去找目标位置去更改这个 order 字段" 如果你用自动增量+1 这种方式, 你考虑过没有, 比如:你的 order column: 1,2,3,4,5 现在你移动 5 到 1 和 2 之间, 你需要 update 多少条记录才变成新的 1,2(原来的 5),3(原来的 2),4(原来的 3),5(原来的 4) |
7
KentY 2020-04-17 17:53:54 +08:00 1
@StyxS 可以设置两个字段, 一个你说的 order, 另一个也是数字, 默认一个相同的就可以,处理当 order 值一样的情况下, 仅对相同 order 的记录进行重排.
这样有效限制了 update 的记录数. 如果主表特别大, 根据你用的数据库不同, 可以考虑是不是单独出来一个表会在性能以及 lock 上有帮助. 类似: order| sub-order 1,0 2,0 3,0 3,1 3,2 |
9
snowydec 2020-04-17 18:14:40 +08:00
@OrderColumn 注解?
|
10
StyxS OP @snowydec 看了下,ordercolumn 好像是应用在成员列表上来维持排序的,但是这个地方文章表好像并不能用上这个吧?
|
11
ConradG 2020-04-17 18:39:18 +08:00 via iPhone 1
order 字段用浮点类型,变更顺序只用前一条和后一条的 order 取平均
|
13
Allianzcortex 2020-04-17 19:45:48 +08:00
如果是类似 trello 这样可以上下拖动改变 ticket 的优先级功能,它的实现是每个 ticket 维护一个 after_id 字段,拖动后会 put 一个请求更新字段,然后前端显示时会根据整个 id 排序后再展示
|
14
lybcyd 2020-04-17 20:10:30 +08:00
用链表的思路做可以吗?这样的话移动顺序只需要更改关联字段就可以了
|
16
StyxS OP @Allianzcortex 意思是前端来排序?那分页的话应该怎么办呢
|