php - Create a query on multiple tables yii -


Yii में समकक्ष कोड क्या है?

  जबकि ($ row = mysql_fetch_assoc) {गूंज $ पंक्ति ['आईडी']। "" .getSkillById ($ पंक्ति ['skillId']); } फ़ंक्शन getSkillById ($ आईडी) {$ sql = mysql_query ("चुनें` कौशल से 'WHERE id =' $ id '"); $ Res = mysql_fetch_assoc ($ sql); वापसी $ res ['skill_label']; }  

कुछ कैसे yii में कार्यान्वित किया जा सकता है? क्या यह मानक प्रक्रिया है?

एक्टिवरकॉर्ड अनुमोदन:

सबसे पहले, GII का उपयोग करके अपना मॉडल बनाएं। उदाहरण के लिए आपका मॉडल नाम है: कौशल । अब:

<पूर्व> $ कौशल = कौशल :: खोज (सभी); यदि (! है_अन्य ($ कौशल)) {विदेशी कौशल (डॉलर कौशल के रूप में $ स्कील) {echo $ skill- & gt; आईडी; }}

आईडी द्वारा एक कौशल प्राप्त करने के लिए:

  $ कौशल = कौशल :: findByPk ($ id); $ कुशलता-& gt; आईडी; // कौशल आईडी  

हो जाता है, क्या आपको ये पता नहीं है कि Yii का एआर समर्थन संबंध ? मान लें कि आपके पास एक उपयोगकर्ता तालिका है जो प्रत्येक उपयोगकर्ता के पास एक कौशल आईडी है तो आपको उपयोगकर्ता मॉडल बनाना होगा। फिर अपने संबंध () में अपने उपयोगकर्ता मॉडल की विधि आपको लिखना चाहिए:

  सरणी ('कौशल' = & gt; सरणी (स्वयं :: HAS_ONE, 'कौशल' 'skill_id'));  

सभी ऊपर धारणा पर आधारित हैं। (आपका प्रश्न एक छोटा ब्रॉड है)। अब, आप अपने उपयोगकर्ताओं और उनके कौशल का उपयोग कर सकते हैं:

  $ users = User :: findAll (); अगर (! Is_null ($ उपयोगकर्ता)) {foreach ($ उपयोगकर्ता $ उपयोगकर्ता) {echo $ user- & gt; आईडी; // USER IS प्रतिध्वनि $ user- & gt; कौशल- & gt; आईडी; // USER SKILL ID}}  

एक और तरीका Yii का क्वेरी बिल्डर नीचे की तरह उपयोग कर रहा है:

  $ db = Yii: : एप्लिकेशन () - & gt; db; $ कौशल = $ db- & gt; बनाएँ कॉमांड ('SELECT * FROM tbl_skills') - & gt; क्वेरीअभी (); // एक लूप // विदेशी ($ कौशल कौशल $ के रूप में) - & gt; अब परिणाम एक सहयोगी सरणी है।  

एक सुझाव के रूप में, पहले Yii के ORM ( एआर ) और Yii के क्वेरी बिल्डर के बारे में ध्यान से पढ़ें। उपयोगी जानकारी खोजने के लिए सर्वश्रेष्ठ स्थान Yii का आधिकारिक दस्तावेज़ है:


Comments

Popular posts from this blog

scala - Play Framework - how to bind form to a session field -

c++ - Why does Visual Studio Release build break on non-executing code line -

Firefox reacting to JQuery setTimeout that doesn't apply -