php - 如何使用 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
解决方案
假设您正确创建了、和模型之间的 laravel 关系Portal
,您可以通过以下方式访问:Case
Patient
Operator
// 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;
推荐阅读
- c++ - Windows 上的 Mongocxx 问题
- php - 带有 WooCommerce 身份验证的 WordPress 自定义 API
- ios - 如何快速检查从 MDCTabBarView 中选择了哪个选项卡
- flutter - 在 Flutter App 中并发 sqflite 数据库
- javascript - typescript - 关于 React typescript useRef 的问题
- nginx - 在 NGINX 上启用 TLS 1.1
- rest - 用于 99% 的 REST API 可用性的 prometheus 警报表达式
- bash - 在 shell 脚本中找不到 -gt 运算符的错误
- java - 错误:将 Fragment 版本至少升级到 1.3.0。[InvalidFragmentVersionForActivityResult]
- c# - 我的 SAT 碰撞响应系统出了什么问题?