लारवेल एलोक्वेंट के साथ सीआरयूडी संचालन को अनुकूलित करना
लारवेल में डेटाबेस के साथ काम करते समय, रिकॉर्ड डालना या अपडेट करना आम बात है। इसे प्राप्त करने के लिए, डेवलपर्स अक्सर सशर्त बयानों का सहारा लेते हैं जो यह जांचते हैं कि कोई प्रविष्टि या अद्यतन करने का निर्णय लेने से पहले कोई रिकॉर्ड मौजूद है या नहीं।
firstOrNew() विधि
सौभाग्य से, एलोक्वेंट फर्स्टऑरन्यू() विधि के माध्यम से अधिक कुशल समाधान प्रदान करता है। यह विधि निर्दिष्ट मानदंडों के आधार पर रिकॉर्ड के अस्तित्व की जांच करती है और यदि पाया जाता है तो पहला मिलान रिकॉर्ड लौटाता है; अन्यथा, यह मॉडल का एक नया उदाहरण बनाता है।
उपयोग उदाहरण
निम्न उदाहरण पर विचार करें:
$shopOwner = ShopMeta::where('shopId', '=', $theID)
->where('metadataKey', '=', 2001)
->firstOrNew();
if ($shopOwner->exists) {
// Update the existing record
} else {
// Insert a new record
}
इस उदाहरण में, shopId और मेटाडेटाकी के आधार पर ShopMeta रिकॉर्ड खोजने के लिए फर्स्टऑरन्यू() विधि का उपयोग किया जाता है। यदि रिकॉर्ड मौजूद है, तो if ब्लॉक निष्पादित किया जाता है, और मौजूदा रिकॉर्ड अपडेट किया जाता है। अन्यथा, अन्य ब्लॉक निष्पादित होता है, और एक नया रिकॉर्ड डाला जाता है। &&&]
$user = User::firstOrNew(array('name' => Input::get('name'))); $user->foo = Input::get('foo'); $user->save();
अद्यतित दस्तावेज़ीकरण$user = User::firstOrNew(array('name' => Input::get('name')));
$user->foo = Input::get('foo');
$user->save();
[अद्यतित लारवेल दस्तावेज़ीकरण](https://laravel.com/docs/8.x/eloquent) अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3