Bagaimana membuat autonumber restart setiap ganti tahun?

Saya membuat kode seperti ini di dalam Models Nomor_npe:

public function nomor_akhir()
    {
        $query = DB::table('nomor_npe')
            ->select('*')
            ->orderBy('id','DESC')
            ->first();
        return $query;
    }

Lalu Controllersnya :

public function nomor_npe_store(Request $req)
    {
        $tanggal_npe = $req->input('tanggal_npe');
        $pesan  = new Nomor_npe();
        $check  = $pesan->nomor_akhir();
        if($check) {
            $nomor_npe    = $check->nomor_npe+1;
        }else{
            $nomor_npe    = 1;
        }

        DB::table('nomor_npe')->insert([
            'nomor_npe'    => $nomor_npe,
            'tanggal_npe'    => $tanggal_npe
        ]);

        return redirect('nomor_npe')->with('success','Nomor NPE berhasil ditambahkan');
    }

Tampilan Tambah Nomor NPE nya seperti ini:

Tambah NPE.png

Ketika di klik Simpan, nomor_npe sudah berhasil bertambah otomatis.

tabel nomor_npe.png

Tapi saya ingin membuat ketika berganti tahun, nomor_npe restart otomatis dari 1 lagi... Mohon bantuannya kepada suhu semua yang tahu...

avatar andiaryatno
@andiaryatno

4 Kontribusi 0 Poin

Diperbarui 3 tahun yang lalu

2 Jawaban:

<div>yang saya kepikiran,<br>cek entry terakhir, bandingkan tahun sekarang dengan tahun terahir,<br>kalau betul, bikin entry baru<br><br>Tapi proses di atas, terlalu over selalu dicek setiap entry if else yang sebenarnya hanya satu tahun sekali. Coba skema databasenya di atur lagi, mungkin ada struktur yang lebih tepat</div>

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 3 tahun yang lalu

<div>1. cek aja apakah ada data tahun di tanggal_npe nya = tahun saat ini (misalnya 2022) ,&nbsp;<br>2. jika ada ambil data ditahun tersebut yang nomor_npe paling terbesar + 1 ,&nbsp;<br>3. jika tidak ada nomor_npe = 1<br><br><br></div>

avatar Aghniya35
@Aghniya35

1 Kontribusi 0 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban