首页 > 解决方案 > 如何使用 eloquent 访问 laravel 中的表与未直接附加

问题描述

我有以下表格结构,我想访问分配给特定病例但使用患者信息的门户。例如我有以下查询

$data['patients'] = Patient::with('operator')->where('case_id', $case_id)->get();

此查询返回分配给患者的操作员现在我希望使用案例将门户名称分配给患者。

门户表

id   Name   
1   A
2   B

案例

id     Name    case_number     patient_name     user_id     portal_id
1      Farz       456            sania             5           1    

病人

id    case_id   operator_id
2     456            5      

标签: phplaraveleloquent

解决方案


假设您正确创建了、和模型之间的 laravel 关系Portal,您可以通过以下方式访问:CasePatientOperator

// you get Case model
$case = \App\Case::findOrFail($case_id);

// patients: there is a hasMany relationship between Case and Patient models
$data['patients'] = $case->patients;

// there is a belongsTo relationship between Case and Portal models
$portal_name = $case->portal->Name;

推荐阅读