Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Periksa apakah model laravel disimpan atau kueri dieksekusi

Periksa apakah model telah disimpan

save() akan mengembalikan boolean, disimpan atau tidak diselamatkan. Jadi, Anda dapat melakukan:

$saved = $myModel->save();

if(!$saved){
    App::abort(500, 'Error');
}

Atau langsung simpan di if:

if(!$myModel->save()){
    App::abort(500, 'Error');
}

Perhatikan bahwa tidak masuk akal untuk memanggil save() dua kali berturut-turut seperti pada contoh Anda. Dan omong-omong, banyak kesalahan atau masalah yang membuat model tidak dapat disimpan akan menimbulkan pengecualian...

Periksa apakah kueri mengembalikan hasil

first() akan mengembalikan null ketika tidak ada catatan yang ditemukan maka cek Anda berfungsi temukan. Namun sebagai alternatif, Anda juga dapat menggunakan firstOrFail() yang secara otomatis akan mengeluarkan ModelNotFoundException ketika tidak ada yang ditemukan:

$UserProduct = Product::where('seller_id', '=', $userId)->firstOrFail();

(Hal yang sama berlaku untuk find() dan findOrFail() )

Periksa apakah kueri telah dieksekusi

Sayangnya dengan create ini tidak semudah itu. Ini sumbernya:

public static function create(array $attributes)
{
    $model = new static($attributes);

    $model->save();

    return $model;
}

Seperti yang Anda lihat, itu akan membuat instance baru dari model dengan $attributes lalu panggil save() . Sekarang jika save() di mana mengembalikan true Anda tidak akan tahu karena Anda akan mendapatkan contoh model. Apa yang dapat Anda lakukan misalnya adalah memeriksa id model (karena itu hanya tersedia setelah catatan disimpan dan id yang baru dibuat dikembalikan)

if(!$newUser->id){
    App::abort(500, 'Some Error');
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Alternatif untuk Intersect di MySQL

  2. Unduh csv dari codeigniter mysql

  3. Apa cara terbaik untuk menghapus baris lama dari MySQL secara bergulir?

  4. Masukkan ke pilih dan perbarui dalam satu kueri

  5. Cara Menjalankan Prosedur Tersimpan Di MySQL Workbench