मेरे पास तीन टेबल हैं

इवेंट टेबल में

id
event_name
patient_id
madical_case_id
fees

मैडिकलकेस टेबल में

id
patient_id
case_type
date

मरीजों की तालिका में

id
name
address

अब मैं सभी घटनाओं को बाइंड (मैडिकलकेस और मरीजों) के साथ खोजने का प्रयास करता हूं। लेकिन सफलता नहीं मिल रही


**i try this**

$this->belongsTo('Patients', ['foreignKey' => 'patient_id', 'joinType' => 'INNER']);
$this->belongsTo('MadicalCases', ['foreignKey' => 'madical_case_id', 'joinType' => 'INNER']);
$event = $this->Events->find()->where(['patient_id' => $patient_id], ['madical_case_id' => $mc_id])->all();

            OR

$this->belongsTo('MadicalCases', ['foreignKey' => 'madical_case_id', 'joinType' => 'INNER','Patients', ['foreignKey' => 'patient_id', 'joinType' => 'INNER']]);
$event = $this->Events->find()->where(['patient_id' => $patient_id], ['madical_case_id' => $mc_id])->all();     

यहां कुछ त्रुटि है

Call to undefined method App\Controller\EventsController::belongsTo() in E:\wamp\www\Gurukrupa\src\Controller\EventsController.php on line 36

Unable to emit headers. Headers sent in file=E:\wamp\www\Gurukrupa\src\Controller\EventsController.php line=36 [CORE\src\Http\ResponseEmitter.php, line 48]

Cannot modify header information - headers already sent by (output started at E:\wamp\www\Gurukrupa\src\Controller\EventsController.php:36) [CORE\src\Http\ResponseEmitter.php, line 149]

Cannot modify header information - headers already sent by (output started at E:\wamp\www\Gurukrupa\src\Controller\EventsController.php:36) [CORE\src\Http\ResponseEmitter.php, line 181]
0
Vishal Vaghasiya 14 जून 2018, 08:30

2 जवाब

सबसे बढ़िया उत्तर
$this->paginate = ['contain' => ['Patients', 'MadicalCases']];

$events = $this->Events->find('all')->where(['Events.patient_id' => $patient_id])->where(['Events.madical_case_id' => $madical_case_id]);

$allevents = $this->paginate($events);
1
hadiya vipul 30 जून 2018, 12:51

ओह यार, आपने एमवीसी ढांचे की अच्छी तरह से डिजाइन सुंदरता को तोड़ने की कोशिश की। आप केकपीएचपी संस्करण 3 के लिए नियंत्रक में मॉडल या अनबाइंड मॉडल को बाध्य नहीं कर सकते हैं। वे अब वी 3 में समर्थन नहीं करते हैं। यह टेबल ऑब्जेक्ट के माध्यम से किया जाना चाहिए। अब, आपने नियंत्रक में belongTo को कॉल करने का प्रयास किया। विवरण यहां देखें और इसे कुछ इस तरह किया जा सकता है।

class MadicalCasesTable extends Table{
    public function initialize(array $config){
    $this->belongsTo('Patients')
        ->setForeignKey('patient_id')
        ->setJoinType('INNER');
    }
}
0
502_Geek 14 जून 2018, 09:51