【发布时间】:2019-07-20 02:37:20
【问题描述】:
想象在 Laravel 项目中,我有 Traking Order 和 Driver Eloquent 模型。
在trakings 表中,我有列tracking_key。在drivers 表中,我还有tracking_key 列。
例如如果司机tracking_key是x,那么tracking_keyx在trakings表中有很多跟踪信息。
所以现在我有$order = new Order::with('driver');它工作正常,但现在在这个查询中,我也想从trakings 表中获取信息(跟踪与驱动程序的tracking_key 匹配的trakings 表中的信息)。
如您所见,我不能拥有Driver::with('trakings') 类型的关系,因为我在这两个表中没有外键。
我试过了:
$order = new Order::with(['driver' => function($query){
$query->join('trackings', 'trackings.tracking_key', '=', 'drivers.tracking_key');
}])
但结果是 stranje,我认为这不起作用。那我该怎么办?
【问题讨论】:
标签: php laravel eloquent foreign-keys relationship