Mysql
 sql >> база данни >  >> RDS >> Mysql

Проверете дали моделът laravel е запазен или е изпълнена заявка

Проверете дали моделът е запазен

save() ще върне булева, запазена или не спасен. Така че можете да направите:

$saved = $myModel->save();

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

Или директно запишете в if:

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

Имайте предвид, че няма смисъл да извикате save() два пъти подред като в твоя пример. И между другото, много грешки или проблеми, които биха попречили на модела да бъде запазен, така или иначе ще предизвика изключение...

Проверете дали заявката е върнала резултат

first() ще върне null когато не бъде намерен запис, така че вашата проверка работи find. Като алтернатива обаче можете да използвате firstOrFail() което автоматично ще изведе ModelNotFoundException когато нищо не е намерено:

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

(Същото важи и за find() и findOrFail() )

Проверете дали заявката е изпълнена

За съжаление с create не е толкова лесно. Ето източника:

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

    $model->save();

    return $model;
}

Както можете да видите, това ще създаде нов екземпляр на модела с $attributes и след това извикайте save() . Сега ако save() къде да върнете true, няма да знаете, защото така или иначе ще получите екземпляр на модел. Това, което бихте могли да направите например, е да проверите за идентификатора на модела (тъй като това е достъпно само след като записът бъде запазен и новосъздаденият идентификатор се върне)

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. Предупреждение:mysql_real_escape_string():Достъпът е отказан за потребител 'root'@'localhost' (използвайки парола:НЕ) .../public_html/checklogin.php

  2. MYSQL sum() за отделни редове

  3. Квалифициране на име на колона на временна таблица в jOOQ

  4. MySQL REPLACE() – Заменете всички екземпляри на подниз с друг низ

  5. Вземете последния отделен набор от записи