mysql - 聚类 'Like' 记录 yii2

标签 mysql sorting gridview yii2

我正在尝试为我的客户端创建一个表,其中包含一堆某种类型的记录,并且我需要创建一个“子”类型的记录,该记录从其父级继承其大部分字段,并且我有完成。

现在我需要使用 Gridview 来显示该信息,但子记录需要聚集在父记录附近,所以它就像;

    -parent record 1
     -child record 1
     -child record 2
    -parent record 2
    -parent record 3
    -parent record 4
     -child record 1
     -child record 2
    etc etc...

现在我正在使用

 $dataProvider->sort = ['defaultOrder' => ['sort_by_this_column'=>SORT_DESC]];

我为子记录“is_child”设置了一个标志,并将 parent ID 存储在名为“parent_id”的列中

有什么方法可以仅使用排序将这些记录聚集在一起吗?

我不能在这里使用界面组件,因为我的客户需要它是可搜索的。

最佳答案

您可以尝试如下排序顺序:

按 CASE WHEN Parent_id IS NULL THEN id ELSE Parent_id END ASC,id ASC

如果父级的 id 确实低于其子级,则父级将首先显示。

关于mysql - 聚类 'Like' 记录 yii2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48271352/

相关文章:

asp.net - 在asp.net中使用href值在gridview列中显示图像图标

android - 每个 gridview 项目 Android 中的进度条

android - 如何在线性布局中一起滚动 2 个 GridView?

MySQL 使用 bool 条件执行慢速查询

MySQL每秒可以处理多少查询

mysql - SQL 语法错误 SelectWhere Like

java - 对 String[] 数组的数组列表进行排序

python - 根据字符串的顺序对集合进行排序?

php - 从另一个表创建下拉列表到我的更新/删除/添加表中

ios - 按日期对 NSMutableArray 中的不同实体进行排序