siakad-itm/database/seeders/DepartmentLeadershipSeeder.php
Yoga Pangestu 07a00a92a2
Some checks failed
tests / ci (pull_request) Has been cancelled
Refactor lecturer management to support multiple departments
- Updated LecturerController to load multiple departments for lecturers.
- Modified LecturerRequest to accept an array of department IDs instead of a single department ID.
- Changed Department model to establish a many-to-many relationship with Lecturer.
- Adjusted Lecturer model to reflect the new many-to-many relationship with Department.
- Updated LecturerService to handle multiple departments during creation and updates.
- Created LecturerFactory and StudentFactory for generating test data.
- Added a migration for the new lecturer_department pivot table.
- Refactored seeder classes to accommodate the new structure for lecturers and departments.
- Enhanced frontend components for creating and editing lecturers to support multiple department selection.
2026-08-30 12:18:13 +07:00

31 lines
783 B
PHP

<?php
namespace Database\Seeders;
use App\Models\Department;
use App\Models\DepartmentLeadership;
use Illuminate\Database\Seeder;
class DepartmentLeadershipSeeder extends Seeder
{
public function run(): void
{
Department::all()->each(function (Department $department) {
$lecturer = $department->lecturers()
->whereHas('user.roles', fn ($q) => $q->where('name', 'kaprodi'))
->first();
if (! $lecturer) {
return;
}
DepartmentLeadership::create([
'department_id' => $department->id,
'lecturer_id' => $lecturer->id,
'started_at' => now()->subYear(),
'ended_at' => null,
]);
});
}
}