Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Yii तालिका में शामिल हो गया लेकिन सभी चयनित डेटा पुनर्प्राप्त नहीं किया गया है

Yii में संबंध बनाकर जॉइन का सबसे अच्छा उपयोग किया जाता है, इस तरह आपको जटिल प्रश्न लिखने की आवश्यकता नहीं होगी

अपने एसक्यूएल टेबल में विदेशी कुंजी जोड़कर प्रारंभ करें (उदाहरण के लिए कुर्सी में एक विदेशी कुंजी रोगी जोड़ें)

अगला यदि आप अपने मॉडल को पुन:उत्पन्न करते हैं तो आप स्वतः जोड़े गए संबंधों को देख सकते हैं (या आप संबंधों को मैन्युअल रूप से जोड़ सकते हैं)

public function relations()
{

    return array(
        'chairs' => array(self::HAS_MANY, 'chair', 'patientId'),
    );
}

और कुर्सी मॉडल में आप संबंध देखेंगे

'patient' => array(self::BELONGS_TO, 'patient', 'patientId'),

अकेले संबंध को परिभाषित करने से आप $model->relationName के रूप में क्वेरी किए गए मॉडल में मानों तक पहुंच प्राप्त कर सकते हैं, यदि आप 'कहां' स्थिति में एक कॉलम का उपयोग करना चाहते हैं, तो अपने मॉडल फ़ंक्शन में निम्न क्वेरी का उपयोग करें

$patients=Patient::model()->findAll(array(
                'condition' => "$field like '%$value%'",
                'with'=>array('chairs'),
                'select'=> "*",
                )); 

"साथ" कीवर्ड महत्वपूर्ण है और क्वेरी में शामिल करने के लिए संबंधों की सूची की एक सरणी ले सकता है। क्वेरी शर्त शामिल सभी तालिकाओं पर लागू होगी, यदि आप किसी अन्य तालिका से किसी फ़ील्ड को क्वेरी नहीं करना चाहते हैं और केवल आउटपुट डेटा लिंक की आवश्यकता है, तो आप यहां "के साथ" कीवर्ड को छोड़ सकते हैं।

और आप रोगी को सौंपी गई कुर्सियों तक

. तक पहुंच सकते हैं
foreach($patients as $patient)print_r($patient->chairs);

अन्य दृष्टिकोण भी हैं, जैसे एक चर्चा यहां

संबंधों के साथ अधिक संपर्क प्राप्त करने के लिए, यहां जाएं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्विंग MySQL डीबी से टेक्स्टफील्ड में डेटा पुनर्प्राप्त करें

  2. MySQL:INT को DATETIME में बदलें

  3. मूल पंक्तियों से स्तंभ शीर्षक वाले स्तंभों में तालिका पंक्तियों में शामिल हो गए

  4. MySQL डेटा को अलग HTML टेबल में वर्गीकृत करना?

  5. कौन सा अधिक कुशल है:एकाधिक MySQL टेबल या एक बड़ी टेबल?