36 lines
1.1 KiB
PHP
36 lines
1.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace Modules\HRM\Database\Seeders;
|
||
|
|
|
||
|
|
use Illuminate\Database\Seeder;
|
||
|
|
use Modules\HRM\Models\Department;
|
||
|
|
use Modules\HRM\Models\Designation;
|
||
|
|
use Modules\HRM\Models\Employee;
|
||
|
|
use Modules\HRM\Models\SalaryType;
|
||
|
|
|
||
|
|
class EmployeesTableSeeder extends Seeder
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Run the database seeds.
|
||
|
|
*/
|
||
|
|
public function run(): void
|
||
|
|
{
|
||
|
|
$departments = Department::pluck('id')->toArray();
|
||
|
|
$designations = Designation::pluck('id')->toArray();
|
||
|
|
$salaryTypes = SalaryType::pluck('id')->toArray();
|
||
|
|
|
||
|
|
if (empty($departments) || empty($designations) || empty($salaryTypes)) {
|
||
|
|
$this->command->info('Please seed Departments, Designations, and SalaryTypes first.');
|
||
|
|
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
Employee::factory(10)->create()->each(function ($employee) use ($departments, $designations, $salaryTypes) {
|
||
|
|
$employee->department_id = $departments[array_rand($departments)];
|
||
|
|
$employee->designation_id = $designations[array_rand($designations)];
|
||
|
|
$employee->salary_type_id = $salaryTypes[array_rand($salaryTypes)];
|
||
|
|
$employee->save();
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|