File tree 1 file changed +9
-1
lines changed
1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -178,21 +178,29 @@ public function list(Request $request)
178
178
@list ($ field , $ sortBy ) = explode (', ' , $ order );
179
179
$ itemsBase = collect ($ originItems );
180
180
181
- // 文件夹/文件夹 排序
181
+ // 默认排序字段
182
+ if ($ field === '' || $ sortBy === null ) {
183
+ $ field = 'name ' ;
184
+ $ sortBy = 'asc ' ;
185
+ }
186
+
187
+ // 筛选文件夹/文件夹
182
188
$ folders = $ itemsBase ->filter (static function ($ value ) {
183
189
return Arr::has ($ value , 'folder ' );
184
190
});
185
191
$ files = $ itemsBase ->filter (static function ($ value ) {
186
192
return !Arr::has ($ value , 'folder ' );
187
193
});
188
194
195
+ // 执行文件夹/文件夹 排序
189
196
if (strtolower ($ sortBy ) !== 'desc ' ) {
190
197
$ folders = $ folders ->sortBy ($ field , $ field === 'name ' ? SORT_NATURAL : SORT_REGULAR )->toArray ();
191
198
$ files = $ files ->sortBy ($ field , $ field === 'name ' ? SORT_NATURAL : SORT_REGULAR )->toArray ();
192
199
} else {
193
200
$ folders = $ folders ->sortByDesc ($ field , $ field === 'name ' ? SORT_NATURAL : SORT_REGULAR )->toArray ();
194
201
$ files = $ files ->sortByDesc ($ field , $ field === 'name ' ? SORT_NATURAL : SORT_REGULAR )->toArray ();
195
202
}
203
+ // 合并
196
204
$ originItems = collect ($ folders )->merge ($ files )->toArray ();
197
205
198
206
$ limit = $ request ->get ('limit ' , 20 );
You can’t perform that action at this time.
0 commit comments