【发布时间】:2022-01-14 11:15:57
【问题描述】:
我有以下雄辩的合集:
$cars = Car::with(['model'])->get();
我还有一个 mysql 存储过程,它可以根据日期范围计算一些度量值:
$getMeasure = DB::select(
'CALL measure("'.$start_date.'", "'.$end_date.'")'
);
该过程产生的两列是 car_id 和 measure。
是否有可能在选择汽车时通过将其与过程结果连接来获得度量列?
我尝试过这样做:
$cars = Car::with(['model'])
->join('call measure("'.$start_date.'", "'.$end_date.'")', 'car.id', '=', 'measure.car_id')
->get();
但这不起作用,因为它正在寻找一个名为“call measure”的表。
【问题讨论】:
-
如果您愿意,可以使用Query Builder 来实现。通常,您必须在子查询中运行存储过程并为子查询提供别名。然后别名将充当任意表名。您能否edit your question 并在您的
Car.php模型文件中提供您的相关数据库架构和model(...)关系方法的实现?