41
के लिए अद्वितीय बाधा

एक सरल Grails डोमेन वर्ग मान लीजिए:Grails डोमेन वर्ग: एकाधिक स्तंभों

class Account { 
    String countryId; 

    String userName; 

    String password; 

    static constraints = { 
     ...???... 
    } 
} 

यह आवश्यक है कि उपयोगकर्ता नाम अद्वितीय के लिए एक विशेष countryID हैं, इस प्रकार वहाँ एक अद्वितीय contraint होना चाहिए दो कॉलम पर बाधाओं परिभाषा में इसे कैसे व्यक्त करें?

+4

मैं उत्तर ढूंढना बिना वेब ब्राउज़िंग गया था और विशेष रूप से stackoverflow में। अंत में, मुझे [Grails संदर्भ] में समाधान मिला (http://grails.org/doc/1.0.x/ref/Constraints/unique.html) हालांकि अन्य सभी Grails प्रलेखन उदाहरण केवल एक कॉलम मामले का विरोध करते हैं। पता नहीं था कि 8 घंटे – rainer198

उत्तर

73
userName(unique: ['countryId']) 

आप सरणी कि अन्य संपत्तियों कि उपयोगकर्ता नाम पर "अद्वितीय" बाधा में विचार किया जाना चाहिए बनाने में के रूप में कई अन्य गुण शामिल कर सकते हैं।

तो, उदाहरण के लिए आप userName एक countryId और provinceId के भीतर अद्वितीय यह इस प्रकार दिखाई देगा बनाना चाहते थे, तो:

userName(unique: ['countryId', 'provinceId'] 
+1

के भीतर स्वयं उत्तर देने की अनुमति नहीं है आप grails –

+0

grails में 3 इसे लिखा है "उपयोगकर्ता नाम अद्वितीय: 'देश आईडी' ' http://docs.grails.org/latest/ref/Constraints /unique.html –

+2

@ करलोसपार्गागा जो एक ही चीज़ का सिर्फ एक प्रकार है। उसी वाक्यविन्यास का उपयोग 3.x से पहले Grails के संस्करणों के साथ भी किया जा सकता है। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^