Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/demo-absensi.aplikasipos.info/app/Jobs/
Upload File :
Current File : /home/aplikasiposinfo/public_html/demo-absensi.aplikasipos.info/app/Jobs/SyncPerusahaanJob.php

<?php

namespace App\Jobs;

use App\Models\Karyawan;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;

class SyncPerusahaanJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    public $ids = [];
    public $target = "karyawan";
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($ids,$target = "karyawan")
    {
        $this->ids = $ids;
        $this->target = $target;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        if($this->target == "karyawan"){
            $karyawans = Karyawan::whereIn('id',$this->ids)->get();
            foreach ($karyawans as $karyawan) {
                $karyawan->perusahaans()->sync([$karyawan->perusahaan_id]);
            }
        } else {
            $users = User::whereIn('id',$this->ids)->get();
            foreach ($users as $user) {
                $user->perusahaans()->sync([$user->perusahaan_id]);
            }
        }
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]