From 374a2e0d10f9ed44f445a423da0f04e4022a78d0 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 17 Mar 2026 22:30:01 +0700 Subject: [PATCH] feat: Integrate HasFactory trait into multiple models for improved testing capabilities and add incrementing property to specific pivot models. --- app/Models/CategoryNews.php | 3 ++- app/Models/Contact.php | 3 ++- app/Models/CooperationMedia.php | 2 ++ app/Models/DataChangeRequest.php | 3 ++- app/Models/DataChangeReview.php | 3 ++- app/Models/MediaTaskAssignment.php | 4 +++- app/Models/VerificationRequest.php | 3 ++- app/Models/VerificationReview.php | 3 ++- app/Models/Visitor.php | 3 +++ 9 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/Models/CategoryNews.php b/app/Models/CategoryNews.php index 2202aa3..2a33051 100644 --- a/app/Models/CategoryNews.php +++ b/app/Models/CategoryNews.php @@ -2,13 +2,14 @@ namespace App\Models; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Swindon\FilamentHashids\Traits\HasHashid; class CategoryNews extends Model { - use HasHashid; + use HasFactory, HasHashid; protected $guarded = ['id']; diff --git a/app/Models/Contact.php b/app/Models/Contact.php index 1427ccf..01bca0d 100644 --- a/app/Models/Contact.php +++ b/app/Models/Contact.php @@ -2,13 +2,14 @@ namespace App\Models; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Swindon\FilamentHashids\Traits\HasHashid; class Contact extends Model { - use HasHashid; + use HasFactory, HasHashid; protected $guarded = ['id']; diff --git a/app/Models/CooperationMedia.php b/app/Models/CooperationMedia.php index 8465531..f02379e 100644 --- a/app/Models/CooperationMedia.php +++ b/app/Models/CooperationMedia.php @@ -18,6 +18,8 @@ class CooperationMedia extends Pivot implements HasMedia { use HasFactory, HasHashid, InteractsWithMedia; + public $incrementing = true; + protected $table = 'cooperation_media'; protected $guarded = ['id']; diff --git a/app/Models/DataChangeRequest.php b/app/Models/DataChangeRequest.php index f414492..fed731b 100644 --- a/app/Models/DataChangeRequest.php +++ b/app/Models/DataChangeRequest.php @@ -5,6 +5,7 @@ use App\Enums\DataChangeStatus; use Illuminate\Database\Eloquent\Attributes\Scope; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasOne; @@ -14,7 +15,7 @@ class DataChangeRequest extends Model { - use HasHashid, SoftDeletes; + use HasFactory, HasHashid, SoftDeletes; protected $guarded = ['id']; diff --git a/app/Models/DataChangeReview.php b/app/Models/DataChangeReview.php index f6f849c..cf7b399 100644 --- a/app/Models/DataChangeReview.php +++ b/app/Models/DataChangeReview.php @@ -3,13 +3,14 @@ namespace App\Models; use App\Enums\DataChangeDecision; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; class DataChangeReview extends Model { - use SoftDeletes; + use HasFactory, SoftDeletes; protected $guarded = ['id']; diff --git a/app/Models/MediaTaskAssignment.php b/app/Models/MediaTaskAssignment.php index 5eb8d88..857b3d6 100644 --- a/app/Models/MediaTaskAssignment.php +++ b/app/Models/MediaTaskAssignment.php @@ -14,6 +14,8 @@ class MediaTaskAssignment extends Pivot { use HasFactory, HasHashid; + public $incrementing = true; + protected $table = 'media_task_assignment'; protected $guarded = ['id']; @@ -39,7 +41,7 @@ public function rejectionReasons(): MorphMany public function reports(): HasMany { - return $this->hasMany(Report::class); + return $this->hasMany(Report::class, 'media_task_assignment_id'); } public function taskAssignment(): BelongsTo diff --git a/app/Models/VerificationRequest.php b/app/Models/VerificationRequest.php index 787974b..f40d61f 100644 --- a/app/Models/VerificationRequest.php +++ b/app/Models/VerificationRequest.php @@ -5,6 +5,7 @@ use App\Enums\VerificationStatus; use Illuminate\Database\Eloquent\Attributes\Scope; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; @@ -14,7 +15,7 @@ class VerificationRequest extends Model { - use HasHashid, SoftDeletes; + use HasFactory, HasHashid, SoftDeletes; protected $guarded = ['id']; diff --git a/app/Models/VerificationReview.php b/app/Models/VerificationReview.php index be829eb..878b09d 100644 --- a/app/Models/VerificationReview.php +++ b/app/Models/VerificationReview.php @@ -5,6 +5,7 @@ use App\Enums\DecisionAdmin; use Illuminate\Database\Eloquent\Attributes\Scope; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; @@ -12,7 +13,7 @@ class VerificationReview extends Model { - use HasHashid, SoftDeletes; + use HasFactory, HasHashid, SoftDeletes; protected $guarded = ['id']; diff --git a/app/Models/Visitor.php b/app/Models/Visitor.php index 384c8e7..5bd05a1 100644 --- a/app/Models/Visitor.php +++ b/app/Models/Visitor.php @@ -3,10 +3,13 @@ namespace App\Models; use Bilfeldt\LaravelRouteStatistics\Models\RouteStatistic as BaseRouteStatistic; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\BelongsTo; class Visitor extends BaseRouteStatistic { + use HasFactory; + protected $table = 'visitors'; public function user(): BelongsTo