phpMyAdmin
 sql >> डेटाबेस >  >> Database Tools >> phpMyAdmin

डेटाबेस में स्थापित किए बिना Yii में एक विदेशी कुंजी को ठीक करना संभव है?

अगर मैं गलत नहीं हूँ, तो आपको ज़रूरत नहीं Yii में अभी भी काम करने के लिए mySql को विदेशी कुंजी संबंधों को लागू करने के लिए। MySql में FK बाधाओं को स्थापित करना उचित डेटाबेस अखंडता सुनिश्चित करता है, लेकिन मुझे नहीं लगता कि Yii वास्तव में रनटाइम पर इसका उपयोग करता है।

प्रोजेक्ट बनाने के लिए शुरू में yiic (Gii का) चलाते समय मुझे लगता है कि यह मॉडल में सही संबंध बनाने के लिए डीबी को देखता है, लेकिन उसके बाद इसका उपयोग नहीं करता है।

Yii तब तालिका संबंधों के इस ज्ञान (yiic से) का उपयोग संबंधपरक डेटा तक पहुँचने के लिए शॉर्टकट तरीके प्रदान करके आपके जीवन को आसान बनाने के लिए करता है, और यह सुनिश्चित करने के लिए कि आप mySql बाधाओं का उल्लंघन नहीं करते हैं और बदसूरत SQL त्रुटियाँ प्राप्त नहीं करते हैं, आदि। लेकिन आप अभी भी उपयोग कर सकते हैं अंतर्निहित SQL बाधाओं के बिना Yii संबंध तर्क। एकमात्र समस्या यह होगी कि यदि Yii गड़बड़ी करता है और एक गैर-मौजूदा FK या कुछ और असाइन करता है, तो आपका डेटाबेस इस त्रुटि को नहीं पकड़ेगा (आपका डेटा अखंडता अधिक त्रुटि प्रवण होगा)।

अपने उत्पादों को विभागों से जोड़ने के लिए, बस सुनिश्चित करें कि आपके पास उत्पाद में एक विभाग_आईडी फ़ील्ड है (जो ऐसा लगता है जैसे आप करते हैं)। फिर उत्पाद में ऐसा संबंध नियम जोड़ें:

'department' => array(self::BELONGS_TO, 'Department', 'department_id'),

और आपके विभाग मॉडल में:

'products' => array(self::HAS_MANY, 'Product', 'department_id'),

अब आप सामान्य की तरह संबंध का उपयोग करने में सक्षम होना चाहिए:

$myProductModel->department; // returns the model of the Department referenced
$myDepartmentModel->products; // returns the models of all Products in the department

गुड लक, और मुझे बताएं कि क्या मैं आधार से बहुत दूर हूं और यह आपके लिए काम नहीं करता है!




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. होम-ब्रू के साथ phpmyadmin स्थापित करना

  2. Phpmyadmin के भीतर तालिका नामों के उपसर्गों का नाम बदलना?

  3. phpmyadmin में डेटाबेस निर्यात करना विफल रहता है (लोकलहोस्ट)

  4. नई तालिकाएँ बनाने के लिए .sql फ़ाइलों को कैसे निष्पादित करें

  5. phpmyadmin अनुरोध पॉपअप को संसाधित करने में त्रुटि दिखाता है