【发布时间】:2017-09-26 21:26:53
【问题描述】:
我想了解根据我的方案进行选择的外观。由于它是多对多关系,因此我在方案中使用了绑定表。
现在,我的应用情况是:我想用一些 id 显示车辆的所有维修情况。在我的函数中,我将id 存储在一个变量中,比如说$id,所以我知道我想要查看所有维修的车辆,所以在这种情况下,表vehicles 对于我需要的这个选择并不重要。
所以我想为repairs.vehicle_id = $id 的特定车辆编写一个选择。
一个修复行必须包含列 worker name 和 surname。稍后,我有一张准备添加到维修中的零件表,但它与工人的情况相同,所以我现在只想了解,我如何使用joins 和group by 和其他必要的来编写这样的select sql函数让工作人员进行修复。
当然,在一次维修中,可以有更多的工人。
表repair_worker 如下所示:
"repair_id" , "worker_id"
"86" , "2"
"87" , "3"
"87" , "4"
"88" , "1"
"88" , "2"
我正在使用 Laravel 框架,但我只想使用 RAW SQL,如果可能的话不要使用 laravel 函数。
编辑:
$repairs = DB::select(DB::raw('
select r.id repair_id, w.name, w.surname
from repairs r
join repair_worker rw on r.id = rw.repair_id
join workers w on w.id = rw.worker_id
where r.vehicle_id = ?
group by w.name, w.surname, r.id
'),[$vehicle->id]);
【问题讨论】:
标签: php sql postgresql laravel many-to-many