@props(['query', 'columns', 'buttons']) @php use Hekmatinasser\Verta\Verta; $sort = request('sort', 'id'); $dir = request('dir', 'desc'); $length = request('length', 15); $builder = clone $query; // فیلتر ستونها foreach ($columns as $col) { $field = $col['field']; if ($value = request("filter.$field")) { if (($col['search'] ?? null) === 'date') { $gregorian = Verta::parse($value)->datetime(); $builder->whereDate($field, $gregorian); } elseif (($col['search'] ?? null) === 'select') { $builder->where($field, $value); } else { $builder->where($field, 'like', "%{$value}%"); } } } $builder->orderBy($sort, $dir); $items = $builder->paginate($length)->appends(request()->query()); $invert = $dir === 'asc' ? 'desc' : 'asc'; @endphp @section('external_css') @endsection