我的图片支持排序

This commit is contained in:
Wisp X
2021-12-23 22:13:10 +08:00
parent 09df3deeea
commit f4a1064b15
4 changed files with 33 additions and 20 deletions
+16 -1
View File
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Models\Album;
use App\Models\Image;
use App\Models\User;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
@@ -23,7 +24,21 @@ class ImageController extends Controller
/** @var User $user */
$user = Auth::user();
$images = $user->images()->latest()->paginate(40);
$images = $user->images()->when($request->query('order') ?: 'newest', function (Builder $builder, $order) {
switch ($order) {
case 'earliest':
$builder->orderBy('created_at');
break;
case 'utmost':
$builder->orderByDesc('size');
break;
case 'least':
$builder->orderBy('size');
break;
default:
$builder->latest();
}
})->paginate(40);
$images->getCollection()->each(function (Image $image) {
$image->human_date = $image->created_at->diffForHumans();
$image->date = $image->created_at->format('Y-m-d H:i:s');