sistem-akademik/database/seeders/SubjectSeeder.php
2025-05-15 10:02:57 +07:00

51 lines
2.3 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\Subject;
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, 'category' => 'umum'],
['name' => 'Bahasa Indonesia', 'is_religious' => false, 'category' => 'umum'],
['name' => 'Bahasa Inggris', 'is_religious' => false, 'category' => 'umum'],
['name' => 'IPA', 'is_religious' => false, 'category' => 'umum'],
['name' => 'IPS', 'is_religious' => false, 'category' => 'umum'],
['name' => 'Seni Rupa', 'is_religious' => false, 'category' => 'seni'],
['name' => 'Seni Musik', 'is_religious' => false, 'category' => 'seni'],
['name' => 'Seni Tari', 'is_religious' => false, 'category' => 'seni'],
['name' => 'Seni Teater', 'is_religious' => false, 'category' => 'seni'],
['name' => 'Bahasa Sunda', 'is_religious' => false, 'category' => 'muatan lokal'],
['name' => 'Pendidikan Agama Islam', 'is_religious' => true, 'category' => 'umum'],
['name' => 'Pendidikan Agama Kristen', 'is_religious' => true, 'category' => 'umum'],
['name' => 'Pendidikan Agama Katolik', 'is_religious' => true, 'category' => 'umum'],
['name' => 'Pendidikan Agama Hindu', 'is_religious' => true, 'category' => 'umum'],
['name' => 'Pendidikan Agama Buddha', 'is_religious' => true, 'category' => 'umum'],
];
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
};
}
}
}
}