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