arrays - Laravel 根据外键向对象添加值
问题描述
我有一个名为 diagnoses
. 它有一个 disease_id 和一个 visit_id。我正在尝试从表 A 中返回诊断以及疾病名称和访问详细信息。我不断收到 sql 语法错误。是否有推荐的方法将对象推送到数组?
我的代码是
public function diagnosis_diseases(Disease $disease) {
$id = $disease->id;
$items = DB::select(DB::raw('SELECT * FROM diseases WHERE diseases.id = '.$id.' ;'));
foreach($items as $item){
$diagnosis = DB::select(DB::raw(' select * from diagnoses
where disease_id = '. $id.';' ));
$items->push($diagnosis);
}
dd($items);
}
解决方案
您可能需要使用内部联接:
public function diagnosis_diseases(Disease $disease) {
$id = $disease->id;
$items = DB::select(DB::raw('SELECT * FROM diseases WHERE diseases.id = '.$id.' ;'));
foreach($items as $item){
$diagnosis = DB::select(DB::raw(' select * from diagnoses
inner join diseases on diagnoses.id = ' .$id' '));
$items->push($diagnosis);
}
dd($items);
}
推荐阅读
- android - 在华硕设备上以编程方式启用“双击唤醒”
- python-3.x - 当我尝试导入 Geopandas 时,内核反复死机
- python - Python 类已定义,一切都已定义,但我想不出一个打印方法将其全部打印出来
- vue.js - 在开发模式下为 vue 组件/模板添加检查
- elasticsearch - Elasticsearch:嵌套 VS 扁平索引
- javascript - tic tac toe 如何保持比赛直到胜利或平局
- dart - 如何在 Dart 的 DateTime 中获取 N 天前?
- r - 如果指定了多个 repos,install.packages 的行为是什么?
- java - 区别:字符 >= '0' 和字符 <= 0
- reactjs - Redux - 从相关状态中删除实体