【问题标题】:How to get object of object within an object through laravel model如何通过laravel模型获取对象内的对象对象
【发布时间】:2018-05-15 13:52:29
【问题描述】:

我正在 laravel 5.2 中制作 Web 应用程序......我将患者数据存储在数据库中的患者表中(患者表不包含医生和治疗区域数据),然后我进行计费包含患者计费数据的表。在计费表中,我想从两列(doctor_id 和 area_of_treatment_id)中检索数据,就像我通过在患者模型中定义关系检索账单一样...

我已经检索了患者及其账单,但我还需要医生和治疗表数据的区域,方法是使用存储在账单表中的 id ......我已经在 Patient Model 中定义了账单关系......请帮我解决我的问题

患者模型中的计费关系:

public function billing()
    {
        return $this->belongsTo(Billing::class,'mr','mr');
    }

病人控制者:

$patients = \App\Patient::with(['billing'])->get();

患者数据以及账单:

【问题讨论】:

    标签: mysql laravel laravel-5 model controller


    【解决方案1】:

    您还应该在计费模型中定义关系:

    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

    【讨论】:

      猜你喜欢
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-11
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多