56 lines
2.1 KiB
PHP
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'
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|