Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

handle error duplikat primary key laravel

selamat malam gan, saya mau nanya. gimana ya cara handle error primarykeynya biar gak keluar outputnya begini. saya coba pakai try catch atau conditional juga tetep ga bisa ini code nya gan


    public function create(Request $request){
        $item = new ItemModel;
        $item->id_item = $request->id_item;
        $item->nama_item = $request->nama_item;

        $item->number_part = $request->number_part;
        $item->created_at = date("Y-m-d");
        $item->updated_at = date("Y-m-d");
        try {
            // Validate the value...
            $item->save();
            return redirect('/item/create')->with('status', 'Pendaftaran Barang Baru Berhasil!');
        } catch (Exception $e) {
            return redirect('/item/create')->with('error', 'Kode Barang Anda Sudah Pernah Dipakai!');
        }
    }

avatar charlyhsitumorang
@charlyhsitumorang

61 Kontribusi 23 Poin

Diperbarui 6 tahun yang lalu

2 Jawaban:

sebelumnya saya pakai kondisi seperti ini, cuman tetep outputnya selalu seperti yang di atas. kalau ada referensi link tolong di share gan. trimakasih hehehehe.... <pre> if ($item-&gt;save()==true) { # code... return redirect('/item/create')-&gt;with('status', 'Pendaftaran Barang Baru Berhasil!'); }else{ return redirect('/item/create')-&gt;with('error', 'Kode Barang Anda Sudah Pernah Dipakai!'); } </pre>

avatar charlyhsitumorang
@charlyhsitumorang

61 Kontribusi 23 Poin

Dipost 6 tahun yang lalu

Di laravel bisa pake validasi. Untuk pengecekan duplikasi primary key bisa pake rule validasi 'unique:table,column', untuk table diisi dengan nama tabel dan untuk column diisi dengan nama kolom. Disini nama tabel adalah item dan nama column adalah id_item, jadi 'unique:item,id_item'. Hasilnya seperti di bawah ini:

<pre> $data = $this-&gt;validate($request, [ 'id_item' =&gt; 'unique:item,id_item' ]) </pre>

Jika ingin menambahkan validasi lebih dari 1 kolom atau lebih dari 1 rule validasi pada 1 kolom, contoh ada di bawah ini:

<pre> $data = $this-&gt;validate($request, [ 'id_item' =&gt; 'required|unique:item,id_item', 'nama_item' =&gt; 'required|max:30', 'number_part' =&gt; 'required|numeric' ]) </pre>

Untuk menampilkan errornya pada blade menggunakan $errors-&gt;all()

avatar human
@human

45 Kontribusi 41 Poin

Dipost 6 tahun yang lalu

Tanggapan

bisa jelaskan penaruhan untuk penampilan errornya?

Login untuk ikut Jawaban