【发布时间】:2021-07-08 02:33:05
【问题描述】:
我有一个连接到其他表的人员表。它的子表之一是 BMI。一个人员有多个BMI记录。目前我有这个问题。
$personnel = Personnel::join('personnel_training', function($join) use ($request){
$join->on('personnel.id', '=', 'personnel_training.personnel_id')
->where('personnel_training.training_id', $request->training);
})
->join('state', 'personnel.state_id', '=', 'state.id')
->join('unit', 'state.unit_id', '=', 'unit.id')
->select('state.name as statename','unit.name as unitname','personnel.*','personnel_training.training_id')
->selectRaw("TIMESTAMPDIFF(YEAR, DATE(birth_date), current_date) AS age")
->selectRaw("TIMESTAMPDIFF(YEAR, DATE(date_lastprom), current_date) AS sample")
->orderBy('last_name', 'asc')
->paginate(50)
->appends(request()
->query());
我的代码目前运行良好。我要完成的事情是连接 bmi 和人员表并获取人员 BMI 的最新记录。我需要添加哪些内容?我已经尝试过其他方式,但我没有运气。我在想也许子查询会给我我想要的数据,但我不知道该怎么做。我已经将人员和 bmi 模型连接成一对多的关系。
【问题讨论】:
标签: sql laravel controller subquery relationship