Bagaimana cara memeriksa apakah record ada atau tidak di database menggunakan laravel?

Saya mencoba memeriksa apakah catatannya tidak ada maka saya akan melakukan penyisipan, tetapi tidak berhasil. Ini kode saya:

//check if nomor permohonan is exist
        $data_pemohon = DB::table('data_pemohon')->select('*')->where('noper', $noper)->get();
        if(is_null($data_pemohon)){
            return response(null);          
        }else{
            $data_antrian   = DB::table('antrian_sp')->select('*')->where('noper', $noper)->first();
            if(is_null($data_antrian)){
                $nama        = DB::table('data_pemohon')->select('nama')->where('noper', $noper)->first();
                $status      = DB::table('data_pemohon')->select('status_paspor')->where('noper', $noper)->first();
                $data       = array('tanggal'=>$tanggal, 'jam'=>$jam, 'noper'=>$noper, 'nama'=>$nama->nama, 'status'=>$status->status_paspor);
                $add_antrian= DB::table('antrian_sp')->insert($data);

                if($add_antrian){
                    return response($data_pemohon);
                }else{
                    echo "error";           
                }
            }else{
                return response(1); 
            }
        }

person Muhammad Haryadi Futra    schedule 18.08.2018    source sumber
comment
Anda dapat memeriksa tautan ini-› stackoverflow.com/questions/ 27095090/   -  person Payal Pandav    schedule 18.08.2018
comment
Apa yang Anda dapatkan sebagai hasilnya, harap sebutkan juga.   -  person Hidayat Ullah    schedule 18.08.2018
comment
Saya mencoba memeriksa apakah catatannya tidak ada maka saya akan melakukan penyisipan hanya sekedar saran, jika Anda melakukan ini dengan kode Anda harus berurusan dengan konkurensi. $data_antrian Anda mungkin memiliki penipuan karena kode dieksekusi pada saat yang sama, Anda dapat menggunakan noper sebagai kunci utama untuk memastikan hanya satu yang dibuat. juga, saya penasaran dengan $data_pemohon karena ->get() akan mengembalikan koleksi kosong alih-alih nol jika tidak ada hasil cmiiw.   -  person Bagus Tesa    schedule 18.08.2018
comment
jika catatan itu ada? apakah kamu ingin memperbaruinya?   -  person Teoman Tıngır    schedule 18.08.2018


Jawaban (1)


Tidak yakin mengapa Anda menggunakan fasad DB alih-alih Eloquent:

$data_antrian = App\Antrian_sp::where('noper', $noper)->firstOrFail();

Jika Anda tidak memiliki Model untuk tabel antrian_sp atau hanya lebih memilih fasad DB, ini harus dilakukan:

if ($data_antrian)
person sskoko    schedule 18.08.2018