isUnique Validation in CakePHP hasMany association -


डेटाबेस संरचना

मेरे पास दो टेबल हैं, उपयोगकर्ता < / Em> और निकस उपयोगकर्ता तालिका में मेरे पास एक फ़ील्ड उपयोगकर्ता नाम और nicks तालिका में मेरे पास एक फ़ील्ड है nick_name

<

उपयोगकर्ता और nicks

  सार्वजनिक $ में हैमॉनी = सरणी ('निक '= & Gt; सरणी (' क्लासनाम '= & gt;' निक ',' विदेशीकी '= & gt;' यूज़र_आईडी ',' आश्रित '= & gt; सच है));  उपयोगकर्ता  मॉडल में मैं पंजीकरण के दौरान केवल अनन्य  उपयोगकर्ता नाम  की अनुमति के लिए मान्य हूं  
  'उपयोगकर्ता नाम अद्वितीय होना चाहिए' = & gt; सरणी ('नियम' = & gt; 'isUnique', 'message' = & gt; 'उपयोगकर्ता नाम पहले से ही लिया गया है')  

लेकिन मैं यह भी नहीं चाहता कि उपयोगकर्ताओं को पहले किसी भी अपने उपयोगकर्ता नाम के रूप में निक नामों का इस्तेमाल किया इसके लिए।

  'कोई व्यक्ति उस नाम को उपनाम के रूप में प्रयोग करता है' = & gt; सरणी ('नियम' = & gt; 'चेकनामनाम', 'संदेश' = & gt; 'वह नाम पहले से उपयोग में है')  

और

  सार्वजनिक फ़ंक्शन चेकनामनाम () {$ निक 2 = $ यह- & gt; खोजें ('सभी'); $ निक नाम = सरणी (); विदेशी मुद्रा ($ निक 2 $ नाम 2) {foreach ($ name2 ['निक'] $ नाम के रूप में) {array_push ($ निक नाम, स्ट्रॉल्वर ($ name1 ['nick_name'])); }} $ Username = strtolower ($ this- & gt; डेटा ['उपयोगकर्ता'] ['उपयोगकर्ता नाम']); वापसी in_array ($ username, $ nickNames); }  

लेकिन वह काम नहीं कर रहा है मुझे यह काम करने के लिए क्या करना चाहिए?

सबसे पहले उपनाम खोजें।

 < कोड> $ निक 2 = $ this- & gt; निक- & gt; खोजें ('सभी');  

फिर परिणाम सरणी

  nick2 = array (0 = & gt; सरणी (// पहले foreach 'निक' = & gt; सरणी (उपनाम) होगा = & Gt; 'टेस्ट')))  

तो दूसरे foreach को हटा दें और $ name2 ['Nick'] ['nickname']

  सार्वजनिक फ़ंक्शन चेकनामनाम () {$ निक 2 = $ this- & gt; निक- & gt; खोजें ('सभी'); $ निक नाम = सरणी (); विदेशी मुद्रा ($ निक 2 की $ नाम 2) {array_push ($ निक नाम, स्ट्रॉल्वर ($ नाम 2 ['निक'] ['निक_नाम'])); } $ Username = strtolower ($ this- & gt; डेटा ['उपयोगकर्ता'] ['उपयोगकर्ता नाम']); वापसी in_array ($ username, $ nickNames); }  

Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

javascript - data.match(var) not working it seems -

javascript - How can I pause a jQuery .each() loop, while waiting for user input? -