git add .

git commit "Add admin management search sort and permission structure preparation"
This commit is contained in:
2026-08-18 12:56:32 +03:30
parent d7bd95f71a
commit 78a3b1d63d
24 changed files with 1167 additions and 75 deletions
+38 -3
View File
@@ -7,8 +7,9 @@
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Attributes\Scope;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Foundation\Auth\User;
@@ -54,8 +55,42 @@ class Admin extends User
'image',
'status'
];
#[Scope]
protected function applySearch(Builder $query): void
{
$request = request();
public function roles()
if ($request->filled('keyword')) {
$keyword = $request->input('keyword');
$query->whereAny([
'first_name',
'last_name',
], 'LIKE', "%$keyword%");
}
}
#[Scope]
protected function applySort(Builder $query): void
{
$sort = request('sort');
match ($sort) {
'first_name_asc' =>
$query->orderBy('first_name', 'asc'),
'first_name_desc' =>
$query->orderBy('first_name', 'desc'),
'newest' =>
$query->orderBy('created_at', 'desc'),
default =>
$query->orderBy('created_at', 'desc'),
};
} public function roles()
{
return $this->belongsToMany(Role::class, 'admin_roles');
}