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
Post a Comment