<?php

namespace Database\Seeders;

use App\Report;
use Illuminate\Database\Seeder;

class UpdateReportCodeSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $reports = Report::all();

        foreach ($reports as $report) {
            $today = date('Ymd', strtotime($report->created_at));
            $countItems = Report::where('code', 'like', $today . '%')->count();

            do {
                $countItems++;
                $code = $today . str_pad($countItems, 5, "0", STR_PAD_LEFT);
                $checkExist = Report::where('code', $code)->count();
            } while ($checkExist > 0);

            $report->update(['code' => $code]);
            print "Update ID:" . $report->id . " #" . $report->code . "\r\n";
        }

    }
}
