Some checks failed
tests / ci (pull_request) Has been cancelled
- 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.
31 lines
783 B
PHP
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,
|
|
]);
|
|
});
|
|
}
|
|
}
|