sistem-akademik/database/seeders/SubjectSeeder.php
2025-04-30 17:25:02 +07:00

56 lines
2.1 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\Subject;
use App\Models\SubjectScope;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class SubjectSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$subjects = [
['name' => 'Matematika', 'is_religious' => false],
['name' => 'Bahasa Indonesia', 'is_religious' => false],
['name' => 'Bahasa Inggris', 'is_religious' => false],
['name' => 'IPA', 'is_religious' => false],
['name' => 'IPS', 'is_religious' => false],
['name' => 'Pendidikan Agama Islam', 'is_religious' => true],
['name' => 'Pendidikan Agama Kristen', 'is_religious' => true],
['name' => 'Pendidikan Agama Katolik', 'is_religious' => true],
['name' => 'Pendidikan Agama Hindu', 'is_religious' => true],
['name' => 'Pendidikan Agama Buddha', 'is_religious' => true],
];
foreach ($subjects as $subject) {
$createdSubject = Subject::create($subject);
// Untuk mata pelajaran agama, buat scope
if (str_contains($createdSubject->name, 'Agama')) {
$religion = match(true) {
str_contains($createdSubject->name, 'Islam') => 'islam',
str_contains($createdSubject->name, 'Kristen') => 'kristen',
str_contains($createdSubject->name, 'Katolik') => 'katolik',
str_contains($createdSubject->name, 'Hindu') => 'hindu',
str_contains($createdSubject->name, 'Buddha') => 'buddha',
default => null
};
if ($religion) {
SubjectScope::create([
'subject_id' => $createdSubject->id,
'religion' => $religion,
'learning_goal' => 'Memahami prinsip dasar agama ' . $religion,
'scope' => 'Tingkat dasar'
]);
}
}
}
}
}