This commit is contained in:
Saufi
2026-06-03 08:51:22 +08:00
commit a14d43fe34
347 changed files with 38197 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Http\Concerns;
use Illuminate\Database\Eloquent\Builder;
trait SortsQuery
{
/**
* @param array<int, string> $allowed
*/
protected function sortedQuery(Builder $query, array $allowed, string $default, string $defaultDir = 'asc'): Builder
{
$sort = request()->input('sort', $default);
$dir = request()->input('direction', $defaultDir);
if (! in_array($sort, $allowed, true)) {
$sort = $default;
}
if (! in_array($dir, ['asc', 'desc'], true)) {
$dir = $defaultDir;
}
return $query->orderBy($sort, $dir);
}
}