我在laravel 5.2中制作Web应用程序....我将患者数据存储在患者表中(患者表不包含医生和治疗数据区域),然后我开始计费包含患者账单数据的表。在结算表中,我想从两列(doctor_id和area_of_treatment_id)中检索数据,就像我通过在患者模型中定义关系来检索账单一样...
我已经检索了患者及其账单,但我还需要医生和治疗表区域数据,使用他们存储在账单表中的ID ....我已经在患者模型中定义了账单关系...请帮我解决我的问题
患者模型中的结算关系:
public function billing()
{
return $this->belongsTo(Billing::class,'mr','mr');
}
患者控制器:
$patients = \App\Patient::with(['billing'])->get();
患者数据以及结算:
答案 0 :(得分:0)
您还应该在结算模式中定义关系:
public function doctor()
{
return $this->belongsTo(Doctor::class);
}
public function areaOfTreatment()
{
return $this->belongsTo(AreaOfTreatment::class);
}
然后,您可以通过嵌套的预先加载来急切加载对象:
$patients = \App\Patient::with(['billing', 'billing.doctor', 'billing.areaOfTreatment'])->get();
参考:https://laravel.com/docs/5.5/eloquent-relationships#eager-loading