Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जांचें कि क्या लार्वा मॉडल सहेजा गया है या क्वेरी निष्पादित हुई है

जांचें कि मॉडल सहेजा गया है या नहीं

save() एक बूलियन लौटाएगा, सहेजा जाएगा या नहीं बचाया। तो आप या तो कर सकते हैं:

$saved = $myModel->save();

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

या सीधे अगर में सेव करें:

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

ध्यान दें कि save() . को कॉल करने का कोई मतलब नहीं है आपके उदाहरण की तरह लगातार दो बार। और वैसे, कई त्रुटियां या समस्याएं जो मॉडल को सहेजे जाने से रोकती हैं, वैसे भी एक अपवाद फेंक देंगी...

जांचें कि क्या क्वेरी ने कोई परिणाम दिया है

first() null लौटाएगा जब कोई रिकॉर्ड नहीं मिलता है तो आपका चेक काम करता है। हालांकि विकल्प के तौर पर आप 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() सच कहां लौटना है, आपको नहीं पता होगा क्योंकि आपको वैसे भी एक मॉडल उदाहरण मिलेगा। उदाहरण के लिए आप मॉडल आईडी की जांच कर सकते हैं (क्योंकि यह केवल रिकॉर्ड सहेजे जाने और नई बनाई गई आईडी वापस आने के बाद ही उपलब्ध है)

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 प्रश्न तैयार कथन के रूप में सुरक्षित रूप से बच रहे हैं?

  2. Mysql int(11) संख्या सीमा से बाहर है

  3. विजुअल स्टूडियो में एक MySQL डेटा स्रोत से कैसे कनेक्ट करें

  4. EC2 पर Amazon RDS Aurora बनाम RDS MySQL बनाम MySQL?

  5. MySQL - एक ही तालिका की पंक्तियों के बीच अंतर खोजें