%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/www/admin1/database/seeders/ |
Upload File : |
<?php
namespace Database\Seeders;
use App\Models\Attendance;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class AttendanceTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run($companyId)
{
$faker = \Faker\Factory::create();
$userIds = User::join('role_user', 'role_user.user_id', '=', 'users.id')
->join('roles', 'roles.id', '=', 'role_user.role_id')
->where('roles.name', 'employee')
->where('users.company_id', $companyId)
->pluck('users.id')
->toArray();
$adminId = User::join('role_user', 'role_user.user_id', '=', 'users.id')
->join('roles', 'roles.id', '=', 'role_user.role_id')
->where('roles.name', 'admin')
->where('users.company_id', $companyId)
->value('users.id');
$data = [];
foreach ($userIds as $userId) {
$date = $faker->randomElement([$faker->dateTimeThisMonth()->format('Y-m-d'), $faker->dateTimeThisYear('now')->format('Y-m-d')]);
$start = $date . 'T' . $faker->randomElement(['09:00', '10:00', '11:00', '12:00', '13:00']) . '+00:00';
$clockIn = Carbon::parse($start)->addMinutes($faker->randomElement([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 10, 15, -20, 45, 120]))->format('Y-m-d H:i:s');
$clockInIp = $faker->ipv4;
$data[] = [
'user_id' => $userId,
'company_id' => $companyId,
'half_day' => 'no',
'late' => $faker->randomElement(['yes', 'no']),
'clock_in_time' => $clockIn,
'clock_out_time' => Carbon::parse($clockIn)->addHours($faker->numberBetween(1, 9))->format('Y-m-d H:i:s'),
'clock_in_ip' => $clockInIp,
'clock_out_ip' => $clockInIp,
'created_at' => $faker->dateTimeThisYear(),
'added_by' => $adminId,
];
}
Attendance::insert($data);
}
}