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

Yii2:संबंधित तालिका से किसी अन्य फ़ील्ड के आधार पर स्वत:भरण फ़ील्ड

आपको बस एक AJAX calling पर कॉल करने की आवश्यकता है आवश्यक फ़ील्ड प्राप्त करने का अनुरोध। बस नीचे की तरह कार्य करें:

  1. (मैं आपके मॉडल का नाम नहीं जानता) अपने फॉर्म पर एक नज़र डालें और देखें कि id क्या है आपके patient_name . का खेत। यह आमतौर पर modelname-fieldname होता है . मुझे लगता है कि आपके मॉडल का नाम Patient है . तो, patient_name . की आईडी patient-patient_name होगा ।

  2. एक अजाक्स अनुरोध जोड़ें (आपके विचार में)।

AJAX को कॉल करने का कोड नीचे जैसा दिख सकता है:

$this->registerJs("$('#patient-patient_name').on('change',function(){
    $.ajax({
        url: '".yii\helpers\Url::toRoute("controllerName/patient")."',
        dataType: 'json',
        method: 'GET',
        data: {id: $(this).val()},
        success: function (data, textStatus, jqXHR) {
            $('#patient-city').val(data.city);
            $('#patient-state').val(data.state);
        },
        beforeSend: function (xhr) {
            alert('loading!');
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log('An error occured!');
            alert('Error in ajax request');
        }
    });
});"); 

नोट:

  • नियंत्रक नाम बदलें उपरोक्त कोड में अपने स्वयं के साथ।
  • मैंने मान लिया था कि city . की आईडी और state फ़ील्ड में निम्नलिखित आईडी हैं:patient-city और state-city अपेक्षाकृत।
  • रोगी आपके नियंत्रक में एक क्रिया है
  • आपको उपरोक्त कोड पर अलर्ट|लॉग निकालने और कुछ अनुकूलन करने की आवश्यकता हो सकती है
  • मैंने कोड सफाई के लिए किसी भी शर्त पर विचार नहीं किया। कृपया सुनिश्चित करें कि उपयोगकर्ता डेटा सही है।

    1. आखिरकार, अपने कंट्रोलर में एक्शन कोड जोड़ें।

क्रिया कोड:

public function actionPatient($id){
    // you may need to check whether the entered ID is valid or not
    $model=  \app\models\Patient::findOne(['id'=>$id]);
    return \yii\helpers\Json::encode([
        'city'=>$model->city,
        'state'=>$model->state
    ]);
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL त्रुटि 1630:फ़ंक्शन सबस्ट्रिंग मौजूद नहीं है .. हुह?

  2. वैकल्पिक तालिका तालिका AUTO_INCREMENT =$x

  3. sql दृश्य को संपादन योग्य बनाएं

  4. मैंने PHP 5.6 में [] के साथ PHP 7.1 में सरणियाँ बनाईं, घातक त्रुटि दी

  5. MySql:विशिष्ट रिकॉर्ड की पंक्ति संख्या ज्ञात करें