"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > लारवेल में एकाधिक कॉलमों में विशिष्टता को कैसे सत्यापित करें?

लारवेल में एकाधिक कॉलमों में विशिष्टता को कैसे सत्यापित करें?

2024-11-07 को प्रकाशित
ब्राउज़ करें:485

How to Validate Uniqueness Across Multiple Columns in Laravel?

लारवेल में कई कॉलमों पर विशिष्टता को मान्य करना

लारवेल में डेटा को मान्य करते समय, डुप्लिकेट प्रविष्टियों को रोकने के लिए कई कॉलमों में विशिष्टता सुनिश्चित करना आवश्यक है। यह उन परिदृश्यों में विशेष रूप से प्रासंगिक है जहां मूल्यों के कई संयोजन अद्वितीय होने चाहिए, जैसे कि उल्लिखित मामले में जहां विशिष्टता के लिए आईपी और होस्टनाम कॉलम दोनों पर विचार करने की आवश्यकता है।

एकाधिक कॉलम पर अद्वितीय सत्यापन

कई स्तंभों पर विशिष्टता को मान्य करने के लिए, लारवेल नियम::अद्वितीय नियम प्रदान करता है। यह नियम आपको सत्यापन के दौरान विचार करने के लिए तालिका और कॉलम निर्दिष्ट करने की अनुमति देता है। आईपी ​​और होस्टनाम दोनों कॉलम। इसे प्राप्त करने के लिए, आप निम्नलिखित की तरह एक कस्टम नियम का उपयोग कर सकते हैं:

Iluminate\Validation\Rule का उपयोग करें; $डेटा = [ 'आईपी' => '192.168.0.1', 'होस्टनाम' => 'सर्वर-1', ]; $संदेश = [ 'data.ip.unique' => 'दिया गया आईपी और होस्टनाम अद्वितीय नहीं हैं', ]; सत्यापनकर्ता::बनाना($डेटा, [ 'आईपी' => [ 'आवश्यक', नियम::अद्वितीय('सर्वर') ->कहां(फ़ंक्शन ($क्वेरी) उपयोग ($आईपी, $होस्टनाम) { वापसी $query->कहां('आईपी', $आईपी)->कहां('होस्टनाम', $होस्टनाम); }), ], ], $संदेश); यदि ($सत्यापनकर्ता->विफल()) { // सत्यापन त्रुटियों को संभालें... }

स्पष्टीकरण

use Illuminate\Validation\Rule;

$data = [
    'ip' => '192.168.0.1',
    'hostname' => 'server-1',
];

$messages = [
    'data.ip.unique' => 'Given ip and hostname are not unique',
];

Validator::make($data, [
    'ip' => [
        'required',
        Rule::unique('servers')
            ->where(function ($query) use ($ip, $hostname) {
                return $query->where('ip', $ip)->where('hostname', $hostname);
            }),
    ],
], $messages);

if ($validator->fails()) {
    // Handle validation errors...
}
नियम::अद्वितीय नियम सर्वर तालिका को निर्दिष्ट करता है, जिसमें आईपी और होस्टनाम कॉलम होते हैं।

जहां नियम के भीतर बंद होना उन शर्तों को परिभाषित करता है जिन्हें विशिष्टता के लिए पूरा करने की आवश्यकता होती है। इस मामले में, यह जाँचता है कि क्या आईपी और होस्टनाम दोनों डेटाबेस में किसी मौजूदा रिकॉर्ड से मेल खाते हैं। ]

    निष्कर्ष
  • कस्टम व्हेयर शर्तों के साथ नियम::अद्वितीय नियम का उपयोग करके, आप प्रभावी ढंग से लारवेल में कई कॉलमों में विशिष्टता सुनिश्चित कर सकते हैं। यह दृष्टिकोण अधिक विशिष्ट और लचीले डेटा सत्यापन की अनुमति देता है, खासकर जब प्रारंभिक क्वेरी में उल्लिखित परिदृश्यों पर विचार करते समय।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3