我正在尝试为我的客户机创建一个表,该表有一组类型的记录,我需要创建一个“子”类型的记录,该记录从其父级继承了它的大部分字段,我已经这样做了。
现在我需要使用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\u child',并将父id存储在一个名为'parent\u id'的列中
有没有办法只用排序把这些记录聚在一起?
我不能在这里使用接口组件,因为我的客户机需要它是可搜索的。
1条答案
按热度按时间vptzau2j1#
您可以尝试以下排序顺序:
order by CASE WHEN parent_id IS NULL THEN id ELSE parent_id END ASC, id ASC
如果父级的id确实比它的子级低,那么父级将首先显示。