laravel, cara cek data di table kolom database

Gan, cara cek data pada table database gmn ya di laravel (kya mysqli_num_rows). Sy mau ngelakuin hal ini, sblum data nya di masukan ke database sy cek dulu apakah dia udah ada apa belum.

//pd controller
$r = new Data;
$slug = str_slug($request->nama, '-');
$r->nama = $request->nama;
if ($r::where('slug', $slug)->get()){ // masalah nya di sini.
      $r->slug = $request->nama . date('s');
}else {
      $r->slug = $request->nama;
}
$r->save();

Kurang lebih ky gtu, itu gk ada error tp ada yg aneh. Karna sy pake date('s') untuk menambahkan klo datanya sudah ada. Dia selalu nambahin string baru padahal di kolom table nya belum ada, misal sy inputkan nama: Muhammad ayyas. Nnt jd nya malah ky gni: muhammad-ayyas16. Padahal di kolom table pada databasenya belum tertera slug dg nama: muhammad-ayyas. Solusinya gan gmn y?

avatar md
@md

107 Kontribusi 21 Poin

Diperbarui 7 tahun yang lalu

4 Jawaban:

bisa diuji dengan metode first apakah null atau ngga

  if( Table::where('slug', $slug)->first() != null )

*else nya disana ngga perlu, sebelum if sudah ada defaultnya

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 7 tahun yang lalu

Klo gk perlu nnt cara penulisannya gmn mas hilman? Ky gni ?

if( Table::where('slug', $slug)->first() != null )
     $r->slug = $slug;
$r->slug = $slug . date('s');

Di pertanyaannya sy salah nulis yg mau sy uji harusnya yg slug nya.

avatar md
@md

107 Kontribusi 21 Poin

Dipost 7 tahun yang lalu

Udah sy coba mas hilman, hasilnya tetep sama. Ketika sy inputkan nama: Oke Budiman. Dia tetep ngerubah jd slug: oke-budiman12. Padahal di database nya belum ada slug dg nama: oke-budiman

avatar md
@md

107 Kontribusi 21 Poin

Dipost 7 tahun yang lalu

Jawaban Terpilih

Kode elsenya harus duluan diatas, karena kalo ngga dia pasti bakal ngerubah nilainya terus

$r->slug = $request->nama; //nilai default, kalo ngga ada yang kembar niainya yang ini

if( Table::where('slug', $slug)->first() != null ) { // kalau ada kembar, baru ganti namanya
   // tambahkan slug yang dimau disini
}
$r->save();

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban