Files
aso/database/seeders/ServiceSeeder.php
2022-11-03 09:51:22 +07:00

130 lines
4.3 KiB
PHP
Executable File

<?php
namespace Database\Seeders;
use App\Models\Corporate;
use App\Models\Service;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class ServiceSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$services = [
[
'id' => 1,
'name' => 'Out Patient',
'code' => 'OP',
'description' => 'Out Patient',
],
[
'id' => 2,
'name' => 'Inpatient',
'code' => 'IP',
'description' => 'Inpatient',
],
[
'id' => 3,
'name' => 'Dental',
'code' => 'DE',
'description' => 'Dental',
],
[
'id' => 4,
'name' => 'Maternal',
'code' => 'MA',
'description' => 'Maternal',
],
[
'id' => 5,
'name' => 'Optical',
'code' => 'OPT',
'description' => 'Optical',
],
];
$corporates = Corporate::get();
foreach ($services as $service) {
$service = Service::updateOrCreate(['id' => $service['id']], $service);
foreach ($corporates as $corporate) {
$corporateService = $corporate->corporateServices()->create([
'service_code' => $service->code,
'status' => 'active'
]);
$corporateService->configs()->insert([
[
'corporate_service_id' => $corporateService->id,
'name' => 'gp_external_doctor_online',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'gp_external_doctor_offline',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'gp_internal_doctor_online',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'gp_internal_doctor_offline',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'sp_external_doctor_online',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'sp_external_doctor_offline',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'sp_internal_doctor_online',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'sp_internal_doctor_offline',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'vitamins',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'delivery_fee',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'general_practitioner_fee',
'value' => false,
],
[
'corporate_service_id' => $corporateService->id,
'name' => 'specialist_practitioner_fee',
'value' => false,
],
]);
}
}
}
}