fix: fix tours and flights pagination on homepage

This commit is contained in:
2026-08-22 07:58:01 +03:30
parent fd6fbc4f93
commit ccdb811d2d
12 changed files with 1620 additions and 34 deletions
+2 -2
View File
@@ -4,8 +4,8 @@ namespace App\Enums\Flight;
enum FlightScope:int
{
case Domestic = 1;
case International = 2;
case Domestic = 0;
case International = 1;
public function label(): string
{
+2 -2
View File
@@ -4,8 +4,8 @@ namespace App\Enums\Flight;
enum FlightType:int
{
case Systematic = 1;
case Charter = 2;
case Systematic = 0;
case Charter = 1;
public function label(): string
{
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Enums\Tour;
enum TourStatus:int
{
case AVAILABLE = 0;
case FULL = 1;
case CANCELLED = 2;
case DRAFT = 3;
public function label(): string
{
return match ($this) {
self::AVAILABLE => 'در دسترس',
self::FULL => 'تکمیل',
self::CANCELLED => 'کنسل شده',
self::DRAFT => 'در امتظار'
};
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Enums\Flight;
namespace App\Enums\Tour;
enum TourType:int
{
+6 -2
View File
@@ -2,6 +2,8 @@
namespace App\Http\Controllers;
use App\Enums\Flight\FlightStatus;
use App\Enums\Tour\TourStatus;
use App\Models\Flight;
use App\Models\Tour;
use Illuminate\Http\Request;
@@ -13,12 +15,14 @@ class IndexController extends Controller
{
$title = 'صفحه اصلی';
$flights = Flight::with('file')
->where('status', '=' , FlightStatus::AVAILABLE)
->orderByDesc('created_at')
->paginate(4);
->paginate(2, ['*'], 'flights_page');
$tours = Tour::with(['file' , 'originCity', 'city'])
->where('status', '=', TourStatus::AVAILABLE)
->orderByDesc('created_at')
->paginate(4);
->paginate(2, ['*'], 'tours_page');e(4);
+5 -2
View File
@@ -7,9 +7,10 @@
namespace App\Models;
use App\Enums\Flight\TourType;
use App\Enums\Tour\TourMode;
use App\Enums\Tour\TourScope;
use App\Enums\Tour\TourStatus;
use App\Enums\Tour\TourType;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Attributes\Scope;
use Illuminate\Database\Eloquent\Builder;
@@ -50,7 +51,8 @@ class Tour extends Model
'tour_mode'=> TourMode::class,
'tour_scope' => TourScope::class,
'tour_type' => TourType::class,
'views_count' => 'int'
'views_count' => 'int',
'status'=>TourStatus::class
];
protected $fillable = [
@@ -63,6 +65,7 @@ class Tour extends Model
'tour_type',
'tour_mode',
'tour_scope',
'status',
'views_count'
];
#[Scope]