Postingan lainnya
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!');
}
}
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->save()==true) { # code... return redirect('/item/create')->with('status', 'Pendaftaran Barang Baru Berhasil!'); }else{ return redirect('/item/create')->with('error', 'Kode Barang Anda Sudah Pernah Dipakai!'); } </pre>
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->validate($request, [ 'id_item' => '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->validate($request, [ 'id_item' => 'required|unique:item,id_item', 'nama_item' => 'required|max:30', 'number_part' => 'required|numeric' ]) </pre>
Untuk menampilkan errornya pada blade menggunakan $errors->all()
Tanggapan
bisa jelaskan penaruhan untuk penampilan errornya?