群集“like”记录yii2

xzv2uavs  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(458)

我正在尝试为我的客户机创建一个表,该表有一组类型的记录,我需要创建一个“子”类型的记录,该记录从其父级继承了它的大部分字段,我已经这样做了。
现在我需要使用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'的列中
有没有办法只用排序把这些记录聚在一起?
我不能在这里使用接口组件,因为我的客户机需要它是可搜索的。

vptzau2j

vptzau2j1#

您可以尝试以下排序顺序: order by CASE WHEN parent_id IS NULL THEN id ELSE parent_id END ASC, id ASC 如果父级的id确实比它的子级低,那么父级将首先显示。

相关问题