diff --git a/app/Models/Outlet.php b/app/Models/Outlet.php index 6e573f1..ce0f61d 100644 --- a/app/Models/Outlet.php +++ b/app/Models/Outlet.php @@ -33,11 +33,6 @@ public function getSlugOptions(): SlugOptions ->saveSlugsTo('slug'); } - public function users(): BelongsToMany - { - return $this->belongsToMany(User::class, 'user_outlet')->withPivot('position_id'); - } - public function openingHours(): HasMany { return $this->hasMany(OpeningHour::class); @@ -72,4 +67,9 @@ public function expenses(): HasMany { return $this->hasMany(Expense::class); } + + public function users(): BelongsToMany + { + return $this->belongsToMany(User::class); + } } diff --git a/app/Models/OutletUser.php b/app/Models/OutletUser.php new file mode 100644 index 0000000..29565f9 --- /dev/null +++ b/app/Models/OutletUser.php @@ -0,0 +1,12 @@ +hasOne(ReferralUsage::class); } + + public function outlets(): BelongsToMany + { + return $this->belongsToMany(Outlet::class); + } } diff --git a/database/migrations/2025_10_03_010257_create_outlet_user_table.php b/database/migrations/2025_10_03_010257_create_outlet_user_table.php new file mode 100644 index 0000000..863e701 --- /dev/null +++ b/database/migrations/2025_10_03_010257_create_outlet_user_table.php @@ -0,0 +1,30 @@ +id(); + $table->foreignId('outlet_id')->constrained()->cascadeOnDelete(); + $table->foreignId('user_id')->constrained()->cascadeOnDelete(); + $table->timestamp('created_at')->useCurrent(); + $table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('outlet_user'); + } +}; diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php index 670e993..9a8b1ed 100644 --- a/database/seeders/UserSeeder.php +++ b/database/seeders/UserSeeder.php @@ -6,6 +6,7 @@ use App\Enums\Gender; use App\Enums\UserRole; use App\Models\Employee; +use App\Models\Outlet; use App\Models\ReferralCode; use App\Models\User; use Illuminate\Database\Seeder; @@ -39,5 +40,9 @@ public function run(): void ]); $user->assignRole(UserRole::Developer); + + $outlet_ids = Outlet::all()->pluck('id')->toArray(); + + $user->outlets()->attach($outlet_ids); } }