Skip to content

Commit a19205c

Browse files
authored
[Bug] Fixed sortable query for json data (alexjustesen#1251)
1 parent bff40b2 commit a19205c

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

app/Filament/Resources/ResultResource.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,18 +118,24 @@ public static function table(Table $table): Table
118118
->label('IP address')
119119
->toggleable()
120120
->toggledHiddenByDefault()
121-
->sortable(),
121+
->sortable(query: function (Builder $query, string $direction): Builder {
122+
return $query->orderBy('data->interface->externalIp', $direction);
123+
}),
122124
Tables\Columns\TextColumn::make('service')
123125
->toggleable()
124126
->toggledHiddenByDefault()
125127
->sortable(),
126128
Tables\Columns\TextColumn::make('server_id')
127129
->label('Server ID')
128130
->toggleable()
129-
->sortable(),
131+
->sortable(query: function (Builder $query, string $direction): Builder {
132+
return $query->orderBy('data->server->id', $direction);
133+
}),
130134
Tables\Columns\TextColumn::make('server_name')
131135
->toggleable()
132-
->sortable(),
136+
->sortable(query: function (Builder $query, string $direction): Builder {
137+
return $query->orderBy('data->server->name', $direction);
138+
}),
133139
Tables\Columns\TextColumn::make('download')
134140
->getStateUsing(fn (Result $record): ?string => ! blank($record->download) ? Number::toBitRate(bits: $record->download_bits, precision: 2) : null)
135141
->sortable(),
@@ -142,15 +148,21 @@ public static function table(Table $table): Table
142148
Tables\Columns\TextColumn::make('download_jitter')
143149
->toggleable()
144150
->toggledHiddenByDefault()
145-
->sortable(),
151+
->sortable(query: function (Builder $query, string $direction): Builder {
152+
return $query->orderBy('data->download->latency->jitter', $direction);
153+
}),
146154
Tables\Columns\TextColumn::make('upload_jitter')
147155
->toggleable()
148156
->toggledHiddenByDefault()
149-
->sortable(),
157+
->sortable(query: function (Builder $query, string $direction): Builder {
158+
return $query->orderBy('data->upload->latency->jitter', $direction);
159+
}),
150160
Tables\Columns\TextColumn::make('ping_jitter')
151161
->toggleable()
152162
->toggledHiddenByDefault()
153-
->sortable(),
163+
->sortable(query: function (Builder $query, string $direction): Builder {
164+
return $query->orderBy('data->ping->jitter', $direction);
165+
}),
154166
Tables\Columns\TextColumn::make('status')
155167
->toggleable()
156168
->sortable(),

0 commit comments

Comments
 (0)